Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
8c4ad386
U
uni-app
项目概览
DCloud
/
uni-app
4 个月 前同步成功
通知
730
Star
38707
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
8c4ad386
编写于
10月 22, 2020
作者:
D
Danny Zhong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fixed moving main package component's JS module to sub-packages common/vender in optimization.
上级
c83eef66
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
35 addition
and
3 deletion
+35
-3
packages/vue-cli-plugin-uni/lib/split-chunks.js
packages/vue-cli-plugin-uni/lib/split-chunks.js
+35
-3
未找到文件。
packages/vue-cli-plugin-uni/lib/split-chunks.js
浏览文件 @
8c4ad386
...
...
@@ -123,13 +123,18 @@ module.exports = function getSplitChunks () {
if
(
!
baseTest
(
module
))
{
return
false
}
const
matchSubPackagesCount
=
findSubPackages
(
chunks
).
size
const
matchSubPackages
=
findSubPackages
(
chunks
)
const
matchSubPackagesCount
=
matchSubPackages
.
size
const
isMainPackage
=
(
// 非分包 或 两个及以上分包 或 主包内有使用
matchSubPackagesCount
===
0
||
matchSubPackagesCount
>
1
||
(
matchSubPackagesCount
===
1
&&
hasMainPackage
(
chunks
)
)
||
(
matchSubPackagesCount
===
1
&&
hasMainPackageComponent
(
module
,
matchSubPackages
.
values
().
next
().
value
)
)
)
if
(
isMainPackage
&&
process
.
env
.
UNI_OPT_TRACE
)
{
...
...
@@ -157,6 +162,31 @@ module.exports = function getSplitChunks () {
return
chunks
.
find
(
item
=>
!
subPackageRoots
.
find
(
root
=>
item
.
name
.
indexOf
(
root
)
===
0
))
}
const
hasMainPackageComponent
=
function
(
module
,
subPackageRoot
)
{
if
(
module
.
resource
&&
module
.
reasons
)
{
for
(
let
index
=
0
;
index
<
module
.
reasons
.
length
;
index
++
)
{
const
m
=
module
.
reasons
[
index
]
if
(
m
.
module
&&
m
.
module
.
resource
)
{
const
resource
=
normalizePath
(
m
.
module
.
resource
)
if
(
resource
.
indexOf
(
'
.vue
'
)
!==
-
1
||
resource
.
indexOf
(
'
.nvue
'
)
!==
-
1
)
{
if
(
resource
.
indexOf
(
subPackageRoot
)
===
-
1
)
{
if
(
process
.
env
.
UNI_OPT_TRACE
)
{
console
.
log
(
'
move module to main chunk:
'
,
module
.
resource
,
'
from
'
,
subPackageRoot
,
'
for component in main package:
'
,
resource
)
}
return
true
}
}
}
}
}
return
false
}
const
subPackageRoots
=
Object
.
keys
(
process
.
UNI_SUBPACKAGES
).
map
(
root
=>
root
+
'
/
'
)
Object
.
keys
(
process
.
UNI_SUBPACKAGES
).
forEach
(
root
=>
{
...
...
@@ -170,8 +200,10 @@ module.exports = function getSplitChunks () {
if
(
matchSubPackages
.
size
===
1
&&
matchSubPackages
.
has
(
root
+
'
/
'
)
&&
!
hasMainPackage
(
chunks
)
!
hasMainPackage
(
chunks
)
&&
!
hasMainPackageComponent
(
module
,
matchSubPackages
.
values
().
next
().
value
)
)
{
if
(
process
.
env
.
UNI_OPT_TRACE
)
{
console
.
log
(
root
,
module
.
resource
,
chunks
.
map
(
chunk
=>
chunk
.
name
))
}
...
...
@@ -192,4 +224,4 @@ module.exports = function getSplitChunks () {
},
cacheGroups
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录