IgnorePlugin
IgnorePlugin 防止在 import
或 require
调用时,生成以下正则表达式匹配的模块:
- requestRegExp 匹配(test)资源请求路径的正则表达式。
- contextRegExp (可选)匹配(test)资源上下文(目录)的正则表达式。
即***IgnorePlugin
作用为: 忽略第三方包指定目录**
配置
以moment 依赖
为例, moment 2.18 会将所有本地化内容和核心功能一起打包(见该 GitHub issue)。你可使用 IgnorePlugin 在打包时忽略本地化内容。
忽略整个 locale 目录
后续如果想使用locale
下的语言包,那么可以手动按需引入import CH from 'moment/locale/CH'
plugins: [
new webpack.IgnorePlugin({
contextRegExp: /moment$/,
resourceRegExp: /^\.\/locale$/,
}),
]
忽略 locale 目录下的某类文件
这样的话,我们可以继续打包中文语言,其他语言不打包
plugins: [
new webpack.IgnorePlugin({
checkResource: (resource, context) => {
if (/moment$/.test(context)) {
if (/^\.\/locale/.test(resource)) {
if (!/zh-cn/.test(resource)) {
return true;
}
}
return false;
}
},
}),
],