javascript - Webpack 4 和 splitChunks - 将所有供应商代码移动到一个单独的块中,除了动态导入的模块
问题描述
我有一个看起来像这样的项目:
- 应用程序.js
- 模块1.js
- 节点模块
module1 在 app.js 中通过import(/* webpackChunkName: 'module1' */ '@path')
.
我正在尝试配置 splitChunks 插件,以便输出:
- 应用程序块,包括没有依赖项和包的 src 代码;
- module1 块,包括源代码和来自 node_modules 的动态导入模块所需的依赖项;
- 供应商块,包括来自 node_modules 的其余依赖项;
最好的方法是什么?该应用程序有一个条目,即 app.js
解决方案
使用以下配置解决了它。这里的关键是chunks: inital
在供应商缓存组中。
optimization: {
splitChunks: {
chunks: 'all',
maxInitialRequests: Infinity,
minSize: 0,
cacheGroups: {
vendors: false,
default: false,
vendor: {
chunks: 'initial',
test: /[\\/]node_modules[\\/]/,
name: 'vendor',
reuseExistingChunk: true
},
},
},
推荐阅读
- .htaccess - .htaccess 中的 CodeIgniter RewriteRule 和 ErrorDocument
- json - 为什么我无法从字典中检测到 None 值
- c++ - 对齐 SSBO 的内存,即包含数组的结构数组?
- typescript - 如何用 jest 模拟 typeorm 合并功能
- c - 返回 char 时内存泄漏 *
- motoko - 在 Motoko 中创建新应用程序时出错
- php - 用 class_alias 覆盖类
- tableau-api - 如何显示一个允许用户在画面中下载结果的 excel 按钮
- arrays - 关于我的代码使用函数指针搜索元素
- ansible - 如何在 Ansible 中使用 host_vars?