Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从CommonChunkPlugin迁移到Webpack 4 optimization.splitChunks_Webpack - Fatal编程技术网

无法从CommonChunkPlugin迁移到Webpack 4 optimization.splitChunks

无法从CommonChunkPlugin迁移到Webpack 4 optimization.splitChunks,webpack,Webpack,我无法确定如何将现有的webpack 3 CommonChunkPlugin迁移到新的webpack 4 optimization.splitChunks 我的现有配置可以提炼为以下内容: module.exports = function (env) { const entry = { common: ['libA', 'libB', './common/A.js', './common/A.js', /* ... */], pageA: ['./src

我无法确定如何将现有的webpack 3 CommonChunkPlugin迁移到新的webpack 4 optimization.splitChunks

我的现有配置可以提炼为以下内容:

module.exports = function (env) {
    const entry = {
        common: ['libA', 'libB', './common/A.js', './common/A.js', /* ... */],
        pageA: ['./src/pageA/file1.js', './src/pageA/file2.js', /* ... */],
        pageB: ['./src/pageB/file1.js', './src/pageB/file2.js', /* ... */],
        /* ... */
    };

    return {
        entry,
        output: {
            path: path.resolve('./dist'),
            filename: `[name]${env.mode === 'production' ? '.min' : ''}.js`,
            chunkFilename: `[name]${env.mode === 'production' ? '.min' : ''}.js`
        },
        module: {
            /* ... */
        },
        plugins: [
            new webpack.optimize.CommonsChunkPlugin({
                name: 'common',
                filename: `[name]${env.mode === 'production' ? '.min' : ''}.js`,
                chunks: Object.keys(entry),
                minChunks: 10
            })
        ]
    };
};
这将生成一个名为
common.min.js
的公共块,其中包含(至少)在
common
条目中指定的所有文件,并另外添加至少10个条目中使用的所有文件


在Webpack4中如何使用
优化。分割块?

我做了类似的事情:

optimization: {
    splitChunks: {
        cacheGroups: {
            commons: {
                name: 'commons',                   
                minChunks: entries.length,
                chunks: 'initial'
            }
        }
    }
}
您需要更改块以包括您选择的块,因为我没有将显式模块声明为块,也就是说,我和您一样在条目中没有“commons”入口点