跳到主要内容

IgnorePlugin

IgnorePlugin 防止在 importrequire 调用时,生成以下正则表达式匹配的模块:

  • 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;
}
},
}),
],