CommonsChunkPlugin的一些总结,以及如何分别打包公共代码和第三方库

本文总结了如何使用Webpack的CommonsChunkPlugin来分别打包公共代码和第三方库。通过配置,可以实现main1和main2.js的公共部分被提取到common.bundle.js,而第三方库如j1和j2被打包到vendor.bundle.js,避免重复打包,优化资源加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何分别打包公共代码和第三方库

现在假设入口文件里面有

entry:{
    main1:'./app/js-uglify/a.js',
    main2:'./app/js-uglify/b.js',
    vendor:['./app/js-uglify/j1','./app/js-uglify/j2']
}

a.js和b.js是项目文件,j1和j2是第三方插件

出口文件配置:

 output: {
    path: BUILD_PATH,
    filename: '[name].bundle.js'
 }

增加模块插件:

new webpack.optimize.CommonsChunkPlugin({
  name: 'common',
  chunks: ['main1', 'main2'],
  filename: 'common.bundle.js',
  minChunks: 2,
}),
new webpack.optimize.CommonsChunkPlugin({
  name: 'vendor',
  chunks: ['common'],
  filename: 'vendor.bundle.js',
  minChunks: Infinity,
})

执行-p后,可以在build目录下,生成以下几个文件:

main1.bundle.js -> 仅包含main1.js的代码文件
mian2.bundle.js -> 仅包含main2.js的代码文件

common.bundle.js -> 包含main1.js和main2.js公共部分的代码文件(不包含第三方库代码)
vendor.bundle.js -> 仅包含第三方库

可以用来抽取第三方类库和框架,这样每一个入口文件无论是否调用它们,都不会将它们重复打包进去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值