作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从 Webpack@3.0.0 开始,我们有了这个强大的功能,可以启用命名的 block 文件:
import(
/* webpackChunkName: "my-chunk-name" */
/* webpackMode: "lazy-once" */
'module'
);
webpackChunkName
和
webpackMode
全局所有 block ?
webpack.config.js
中想象这样的事情:
output: {
filename: 'js/[name].js',
chunkFilename: 'js/[filename].js' // so that import('module') creates module.js
chunkMode: 'lazy-once' // so I can override default `lazy` option once and for all
}
最佳答案
Is there any way to define
webpackChunkName
andwebpackMode
globally for all chunks?
SplitChunksPlugin
和
optimization.splitChunks.cacheGroups
适本地命名您的动态导入,但这只会涵盖
webpackChunkName
.
import()
.
RegExp
查找动态导入和
replace
添加配置的魔术注释。
/(?<![\w.]|#!|\*[\s\w]*?|\/\/\s*|['"`][^)$]*)import\s*\((?!\s*\/\*)(?<path>\s*?['"`][^)]+['"`]\s*)\)(?!\s*?\*\/)/g
加载器可以这样使用:
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'magic-comments-loader',
options: {
webpackChunkName: true,
webpackMode: 'lazy',
webpackIgnore: 'src/ignore/**/*.js',
webpackPrefetch: [
'src/prefetch/**/*.js',
'!src/prefetch/not/*.js'
]
}
}
}
]
}
您可以使用加载器
options
进一步配置魔术注释,包括
overrides
基于文件路径。查看
readme .已包含任何类型注释的动态导入将被忽略。
>= 10.3.0
.请参阅
node.green 上的支持表.
关于javascript - 如何为 import() 全局设置 webpackChunkName?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44888785/
我正在尝试使用 React 可加载和动态导入将代码拆分为多个包。拆分过程非常有效。但是,当我尝试使用神奇的注释 webpackChunkName 让 Webpack 自定义包名称时,它总是将我的包命名
从 Webpack@3.0.0 开始,我们有了这个强大的功能,可以启用命名的 block 文件: import( /* webpackChunkName: "my-chunk-name" */
我是一名优秀的程序员,十分优秀!