文件 A.js 引入了依赖 dep.js ,然后又动态加载了 import('bjs, cjs') , 这两个文件 bjs cjs 也都引入了 dep.js
当我配置了 splitChunks, chunks: all, minChunks:2 的情况下 dep.js 并没有被单独提取出来
如果 A.js 没有引入依赖 dep.js 编译后 dep.js 就能被单独提取出来,这是为啥
1
murmur 2022-02-17 16:15:19 +08:00
A-B-C-dep ,这些东西被打到一起,没问题啊,你是让他自由打包还是用 webpackChunkName 手动分包的
|
2
zy0829 OP 没打到一起 打包后输出三个文件,a b c, 但是 dep 没单独提出来
|
3
zy0829 OP @murmur 我疑问的是我配置了 splitChunksPlugin 之后 按理来说 dep.js 被 b c 都应用了 会命中这个缓存组规则 会被单提取出来, 但是并没有, 原因就是因为 A.js 中引入了 dep.js , 但是为啥就不生效了
|
4
murmur 2022-02-17 17:03:04 +08:00
@zy0829 你用 webpack analyzer 看一下,dep 在哪里,如果是 node_modules 是不是应该进 vendor
我以前也试过,试图让 node 依赖直接出来,结果是出来了,结果 tree shake 没了,大的一塌糊涂,所以我放弃了 |
5
murmur 2022-02-17 17:03:54 +08:00
webpack 新版我记得可以通过配置让哪个依赖强行单独成包,3 应该是不行,我们用的就是 2 、3 多
|
6
murmur 2022-02-17 17:05:27 +08:00
|