Webpack CommonsChunkPlugin未按预期工作

3

文件夹结构:

项目文件夹结构

app.js, benchmark.js, board.js都需要jquery。我只想将jquery提取为vender.js,而其他三个bundle仅包含应用程序代码:

Webpack配置:

输入图片说明文字

结果不是我所期望的:

app.js、benchmark.js和board.js仍包含jquery代码(从巨大的文件大小可以看出):

Webpack输出

我的webpack配置有问题吗? 我只是跟随以下示例: https://github.com/webpack/webpack/tree/master/examples/two-explicit-vendor-chunks https://github.com/webpack/webpack/tree/master/examples/multiple-entry-points

1个回答

6

插件应该是一个在模块之外的对象数组。

此外,我不认为您需要为此使用情况设置minChunkschunks选项。 您的供应商入口块应该足够。

entry: {
    vendor: ['jquery']
},
plugins: [
    new webpack.optimize.CommonsChunkPlugin({
        name: "vendor",
        filename:"vendor.js",
        minChunks: Infinity
    })
];

1
谢谢,它没有起作用是因为我把“插件”配置放在了“模块”块中。 - Alan
3
对于其他因为 webpack 配置文件中的拼写错误而感到沮丧的人,我建议你查看 npm.im/webpack-validator。 - kentcdodds
仍然遇到相同的问题,即使在Webpack配置中拆分了代码,供应商代码仍然存在于bundle.js文件中。https://stackoverflow.com/questions/44859585/vendor-code-is-still-in-bundle-js-file-even-after-splitting-it-in-webpack-config - Mohit Verma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接