• 减少代码冗余

    • 提高加载速度

    CommonsChunkPlugin ,此方法在v4版本中废除,尴尬,在v4版本中使用CommonsChunkPlugin 已经从 webpack v4(代号 legato)中移除

    1. { plugins: [ new webpack.optimize.CommonsChunkPlugin(option) ]}

    option(接受)

    • options.name or options.names

    • options.filename

    • options.minChunks (出现几次提取到公共模块中)

    • options.chunks (引入包的名字)

    1. {
    2. plugins: [new webpack.optimize.CommonsChunkPlugin({
    3. name:'commone',
    4. minChunks:2,
    5. chunks['A','B']
    6. })]
    7. }
    • options.children

    • options.deepChildren

    • options.async

    场景:

    • 单页应用

    • 单页应用 + 第三方依赖

    • 多页应用 + 第三方依赖 + webpack生成代码

    下面会打包生成四个模块

    1. new Webpack.optimize.CommonsChunkPlugin({
    2. name:'commone',
    3. minChunks:2,
    4. chunks['A','B']
    5. }),
    6. // 打包webpack产生的chunks
    7. new Webpack.optimize.CommonsChunkPlugin({
    8. name: ['mainfest','common']
    9. minChunks: Infinity
    10. }),

    在v4版本中,将SplitChunks