migration - Webpack 迁移 3 -> 4 : Error: Cannot find module 'webpack/lib/optimize/CommonsChunkPlugin'

标签 migration webpack-3 commonschunkplugin webpack-4

我正在尝试从 webpack 3 迁移到 webpack 4。

我遇到的问题是 CommonsChunkPlugin,当我尝试运行 webpack (npm run webpack-dev-server -- --config config/webpack.dev.js) 时,我有以下内容错误:

module.js:529
    throw err;
    ^

Error: Cannot find module 'webpack/lib/optimize/CommonsChunkPlugin'
    at Function.Module._resolveFilename (module.js:527:15)
    at Function.Module._load (module.js:476:23)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/antoinepissot/DEV/Reports/config/webpack.common.js:17:28)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)

是什么导致了这个问题?

我查看了 change log on webpack github发现CommonsChunkPlugin已经被移除

但是当我查看 webpack documentation , 我可以找到 4.1.1 版本的 CommonsChunkPlugin

我的直觉告诉我,CommonsChunkPlugin 已被弃用,我们应该使用 optimization.splitChunks

有没有人遇到过这个问题并找到了从版本 3 迁移到版本 4 的好教程?

最佳答案

正如 Vardius 在他的评论中指出的,CommonsChunkPlugin 已被删除。

在 webpack 4 中,此行为是使用 "optimization" 完成的webpack 配置根目录中的字段。

例如,这是我的 webpack.config.js 现在的样子:

module.exports = function () {
   return {
    resolve: ...
    module: ...
    plugins: ...
    optimization: {

       namedModules: true, // old NamedModulesPlugin()
       splitChunks: {      // old CommonsChunkPlugin
          chunks: "all"
       },
       runtimeChunk: true,
       concatenateModules: true // old ModuleConcatenationPlugin
    }
}

关于migration - Webpack 迁移 3 -> 4 : Error: Cannot find module 'webpack/lib/optimize/CommonsChunkPlugin' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49369533/

相关文章:

javascript - 具有动态代码分割的自动 vendor block

reactjs - 使用 WebPack CommonsChunkPlugin 提取重复的 javascript 代码

mysql - Laravel 迁移主要(或 key ) "Identifier name is too long"

java - 将 Infinispan xml 配置从 6.x 迁移到 7.x

css - 如何在 webpack 中编译样式

angularjs - 在 typescript 中导入html模板

python - 我的旧项目的 Django 1.7 迁移问题

php - 如何修复错误 "Fatal error: Uncaught --> Smarty: unable to write file"?

javascript - 模块构建失败 : SyntaxError: Missing class properties transform when using webpack2

javascript - 拆分 vendor bundle