webpack ContextReplacementPlugin插件

通过使用webpack的ContextReplacementPlugin插件,可以有效控制依赖项的打包范围,如仅打包指定语言包,减少最终输出文件大小。

此插件允许覆盖webpack打包时的查找规则

一、用法:

new webpack.ContextReplacementPlugin(
  resourceRegExp: RegExp,
  newContentResource?: string,
  newContentRecursive?: boolean,
  newContentRegExp?: RegExp
)

如果资源(或目录)符合 resourceRegExp 正则表达式,插件会替换默认资源为 newContentResource,布尔值 newContentRecursive 表明是否使用递归查找,newContextRegExp 用于筛选新上下文里的资源。如果 newContentResource 为相对路径,会相对于前一匹配资源路径去解析

二、例子

webpack 打包momentjs时会把所有语言包都打包,这样会使打包文件很大。此插件可以帮助我们只打包需要的语言包,大大减小打包文件大小。

new webpack.ContextReplacementPlugin(/moment[/\\]locale$/, /zh-cn|zh-hk|en/)

限定查找 moment/locale 上下文里符合 /zh-cn|zh-hk|en/ 表达式的文件,因此也只会打包这几种本地化内容。

 

有关webpack插件更详细的介绍参考:https://cloud.tencent.com/developer/section/1477555

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值