您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Web开发 >> (javascript)webpack如何分别打包第三方库和自己写的公用业务逻辑库

(javascript)webpack如何分别打包第三方库和自己写的公用业务逻辑库(1/2)

来源:网络整理     时间:2016/7/18 18:04:11     关键词:

关于网友提出的“ (javascript)webpack如何分别打包第三方库和自己写的公用业务逻辑库”问题疑问,本网通过在网上对“ (javascript)webpack如何分别打包第三方库和自己写的公用业务逻辑库”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: (javascript)webpack如何分别打包第三方库和自己写的公用业务逻辑库
描述:

背景

我的项目是一个多页应用,用webpack作为构建工具,目前是用CommonsChunkPlugin(minChunks: 5)把所有require5次以上的模块(这里面既包括第三方库,也包括我自己写的公用业务逻辑模块)都打包到一起,因此基本上每个页面只加载俩js,一个是前面提到的这个打包的js,另外一个就是仅在本页面使用到的entry.js。
以登录页作为例子,每个页面加载的js是这样的:



需求

现在我的需求是,把第三方库和我自己写的公用业务逻辑库分开来打包,这是基于下面的考虑:

  • 第三方库基本不会改动,打包一次就不用动了,对缓存有好处。

  • 把第三方库拉出来后,webpack打包速度可以更快。
    我希望最后达到的效果是:



尝试

我在网上没有搜到这样的例子,只搜得到仅把第三方库独立出来打包的例子(没有考虑到公用业务逻辑库的情况)。

我自己有尝试过用俩CommonsChunkPlugin:

commonsChunkPluginForVendor = new webpack.optimize.CommonsChunkPlugin({
    name: 'vendor',
    filename: '[name].bundle.js',
    minChunks: Infinity,
});

commonsChunkPlugin = new webpack.optimize.CommonsChunkPlugin({
    name: 'commons',
    filename: '[name].bundle.js',
    minChunks: 5,
});

这样打包出来的效果是,第三方库的确是独立出来了打包到了vendor.bundle.js里,但是commons.bundle.js里却只有webpack的一些执行代码,并没有把公用业务逻辑库抽取出来,而是分散到各个entry.js里。

请教怎么才能分别打包第三方库和自己写的公用业务逻辑库呢?

相关图片

相关文章