Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
京东前端
nutui-react
提交
1a82a11f
N
nutui-react
项目概览
京东前端
/
nutui-react
通知
0
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
N
nutui-react
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
1a82a11f
编写于
9月 09, 2022
作者:
O
oasis-cloud
提交者:
GitHub
9月 09, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: sideEffects 优化 (#280)
上级
2334b954
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
39 addition
and
14 deletion
+39
-14
package.json
package.json
+2
-1
scripts/generate-loader-style.js
scripts/generate-loader-style.js
+37
-13
未找到文件。
package.json
浏览文件 @
1a82a11f
...
...
@@ -8,7 +8,8 @@
"sideEffects"
:
[
"*.scss"
,
"dist/esm/**/style/*"
,
"dist/style.css"
"dist/style.css"
,
"dist/styles/font/*"
],
"description"
:
"京东风格的轻量级移动端 React 组件库"
,
"keywords"
:
[
...
...
scripts/generate-loader-style.js
浏览文件 @
1a82a11f
...
...
@@ -15,22 +15,39 @@ config.nav.map((item) => {
item
.
packages
.
forEach
((
element
)
=>
{
let
{
name
,
show
,
exportEmpty
}
=
element
const
nameLowerCase
=
name
.
toLowerCase
()
const
file
=
path
.
resolve
(
process
.
cwd
(),
`dist/esm/
${
name
}
/style/index.js`
)
const
cssFile
=
path
.
resolve
(
process
.
cwd
(),
`dist/esm/
${
name
}
/style/css.js`
)
if
(
show
||
exportEmpty
)
{
// todo 删掉 @import 改成 require 方式
const
componentSassFile
=
path
.
join
(
__dirname
,
`../dist/packages/
${
nameLowerCase
}
/
${
nameLowerCase
}
.scss`
)
// 这里匹配 @import,并转换为 require()
let
data
=
fs
.
readFileSync
(
componentSassFile
,
{
encoding
:
'
utf8
'
,
flag
:
'
r
'
})
let
data
=
fs
.
readFileSync
(
componentSassFile
,
{
encoding
:
'
utf8
'
,
flag
:
'
r
'
,
})
const
matched
=
data
.
match
(
/@import.*
?[
;
][\n\r]?
/gi
)
let
rewrite
=
''
console
.
log
(
matched
)
if
(
matched
&&
matched
.
length
)
{
rewrite
=
matched
.
map
((
im
)
=>
{
if
(
im
.
indexOf
(
'
../../styles/
'
)
>
-
1
)
{
if
(
im
.
indexOf
(
'
.css
'
)
>
-
1
)
{
data
=
data
.
replace
(
im
,
''
)
// return im
// .toLowerCase()
// .replace('@import ', `require(`)
// .replace('../../', '../../../')
// .replace("';", "')")
return
im
.
toLowerCase
()
.
replace
(
'
@import
'
,
`import`
)
.
replace
(
'
../../
'
,
'
../../../
'
)
}
return
''
}
else
{
data
=
data
.
replace
(
im
,
''
)
...
...
@@ -43,35 +60,42 @@ config.nav.map((item) => {
// require('../../Popup/style')
const
matchGroup
=
im
.
match
(
/
\.\.\/(?<
package>
[
a-z
]
+
)\/
/
)
if
(
matchGroup
&&
matchGroup
.
groups
&&
matchGroup
.
groups
.
package
)
{
const
find
=
components
.
filter
((
c
)
=>
c
.
toLowerCase
()
==
matchGroup
.
groups
.
package
)[
0
]
const
find
=
components
.
filter
(
(
c
)
=>
c
.
toLowerCase
()
==
matchGroup
.
groups
.
package
)[
0
]
if
(
find
)
{
return
`require('../../
${
find
}
/style')`
// return `require('../../${find}/style')`
return
`import '../../
${
find
}
/style'`
}
}
// 替换为 js 文件内容
// @import './countup.scss';
// require('../../../packages/animatingnumbers/countup.scss')
// return im
// .toLowerCase()
// .replace('@import ', `require(`)
// .replace('../', '../../../packages/')
// .replace("'./", `'../../../packages/${nameLowerCase}/`)
// .replace("';", "')")
return
im
.
toLowerCase
()
.
replace
(
'
@import
'
,
`
require(
`
)
.
replace
(
'
@import
'
,
`
import
`
)
.
replace
(
'
../
'
,
'
../../../packages/
'
)
.
replace
(
"
'./
"
,
`'../../../packages/
${
nameLowerCase
}
/`
)
.
replace
(
"
';
"
,
"
')
"
)
}
})
console
.
log
(
'
rewrite
'
,
rewrite
)
rewrite
=
rewrite
.
join
(
'
\r\n
'
)
fse
.
outputFileSync
(
componentSassFile
,
data
)
}
fse
.
outputFileSync
(
file
,
`
${
rewrite
}${
'
\n
'
}
require('../../../packages/
${
nameLowerCase
}
/
${
nameLowerCase
}
.scss')`
// `${rewrite}${'\n'}require('../../../packages/${nameLowerCase}/${nameLowerCase}.scss')`
`
${
rewrite
}${
'
\n
'
}
import '../../../packages/
${
nameLowerCase
}
/
${
nameLowerCase
}
.scss'`
)
// fse.outputFileSync(
// cssFile,
// `require('../../../packages/${nameLowerCase}/${nameLowerCase}.css')`
// )
}
})
})
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录