Webpack 迁移 3 -> 4:错误:找不到模块“webpack/lib/optimize/CommonsChunkPlugin”

2024-01-12

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

当我尝试运行 webpack 时,我遇到的问题是 CommonsChunkPlugin (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)

是什么导致了这个问题?

我看了看webpack github 上的更改日志 https://github.com/webpack/webpack/releases并发现 CommonsChunkPlugin 已被删除

但当我看到webpack 文档 https://webpack.js.org/plugins/commons-chunk-plugin/,我可以找到 4.1.1 版本的 CommonsChunkPlugin

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

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


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

在 webpack 4 中,此行为是使用“优化” https://webpack.js.org/configuration/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
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Webpack 迁移 3 -> 4:错误:找不到模块“webpack/lib/optimize/CommonsChunkPlugin” 的相关文章

  • .net core中BackgroundService中的ExecuteAsync和StartAsync方法的区别

    从旧版 NET Framework 迁移时 我需要创建一个长时间的后台进程工作线程 查看文档我发现了一个BackgroundService类 就是用于这种目的的 但我偶然发现了两种相同的 就我的观点而言 方法ExecuteAsync and
  • 如何配置额外/不同的迁移文件夹

    我和一位同事正在从事共享一些模型的不同项目 因此 我们通过 git 子模块共享模型 此外 我们还希望能够共享迁移 这样 我同事的迁移就会在文件夹中db migrate other db我的项目 如何配置 Rails 迁移以在这个额外文件夹中
  • 将时间戳添加到 db Rails 5+ 中的现有表

    尝试将时间戳添加到现有表中 根据API文档添加时间戳 https apidock com rails ActiveRecord ConnectionAdapters SchemaStatements add timestamps 这是我的迁
  • 在程序集“”中发现了不止一种迁移配置类型。指定要使用的名称。关于添加迁移

    在包管理器控制台中 我正在尝试更新我的数据库 当我输入这个命令时 add migration Migration1 我明白了 在程序集中发现了不止一种迁移配置类型 我的项目 POCO 指定要使用的名称 我用谷歌搜索了这个错误 我得到了这个
  • 将模型引用添加到现有 Rails 模型

    我想知道在两个之间添加关系的 正确 方法existingRails 3 中的类 给定现有模型 小丑和兔子 我想添加从兔子到小丑的引用 belongs to 我首先尝试生成迁移 rails g migration AddClownToRabb
  • Ruby 模型的数组属性

    是否可以为数组类创建一个属性 我尝试阅读this https stackoverflow com questions 3438827 ruby model with an array as an attribute但我并没有从中得到太多 我
  • 一般错误:1215 无法在 Laravel 中添加外键约束

    进行迁移时我收到此错误 SQLSTATE HY000 一般错误 1215 无法添加外键约束 SQL alter tablebooks添加约束books writer id foreign外键 writer id 参考writers id 我
  • 在 Java 8 中使用 Java 7 比较器

    情况 我有一个 OSGi 项目 我正在尝试迁移到 Java 8 在我的项目中 我依赖于我 OSGi fied 的第三方库 只需添加MANIFEST MF文件并将元数据放入其中 这些库是从只读 SVN 存储库中签出的 因此我可以在需要时签出更
  • 如何在南迁中访问 auth User 的 User.objects.create_user(...) ?

    我没有使用 django 的 auth 模块 而是使用了自己的模块 并且已经非常后悔了 为了纠正这种情况 我正在尝试将数据从我的用户模型迁移到 django auth models User 我创建了一个数据迁移 如下所示 def forw
  • 如何向 Rails 中的表追溯添加主键?

    我创建了一个没有主键的表 id gt false 但现在它又回来了 我的应用程序已经投入生产 我不能只是放弃它并重新创建另一个应用程序 有没有办法运行迁移以将另一个自动增量主键列添加到我的表中 在迁移中添加主键的命令是 add column
  • 如何使自定义 django 迁移可逆?

    我最初的问题是 给定一个包含 60M 行的数据库表 我需要将字段类型从布尔字段转换为整数字段 我想为此创建一个自定义的 django 迁移 如果您有比这更好的方法 请告诉我 如下所示 def make changes apps schema
  • 如何快速识别 SQL Server 中最近修改的存储过程

    我需要手动将修改后的存储过程从 DEV SQL Server 2005 数据库实例迁移到 TEST 实例 除了我要迁移的更改之外 数据库具有相同的架构 如何快速识别DEV数据库中哪些存储过程被修改并迁移到TEST实例 我假设我可以针对某些系
  • SQL版本控制方法

    SO 有几个关于 SQL 版本控制的问题 网上有很多资源 但我找不到完全涵盖我想要做的事情的东西 首先 我在这里谈论一个方法论 我熟悉各种源代码控制应用程序 也熟悉 Red Gate 的 SQL Compare 等工具 并且我知道如何编写应
  • 是否可以从数据库转储生成 knex 种子文件?

    就我而言 我使用的是 mysql 但是 我正在寻找一种通用解决方案 用于从当前运行的数据库或数据库转储生成 knex 种子文件 我可以就像是 https github com tgriesser knex issues 944 issuec
  • 如何使用 Webpack 加载器导入 XML,而不自动转换为 JSON

    Webpack 4 的 xml loader 自动将导入的 XML 文件转换为 JSON 通过什么方式可以导入XMLwithout转换为 JSON XML 数据将使用现有的 应用程序专用的 XML 解析器进行处理 明确地说 我绝对愿意not
  • 无法使用 webpack 加载 Node 原生插件

    虽然我正在使用vue cli在生成 webpack 配置的示例代码中 没有任何特定于 vue 的内容 我像这样创建示例应用程序 vue init webpack webpack modules example 生成webpack base
  • 将 SQL Server 2008 DB 迁移到 Postgres [重复]

    这个问题在这里已经有答案了 我想将 SQL Server 2008 数据库迁移到 Postgres 有没有一种无痛的方法来做到这一点 是否有任何工具可以扫描架构和存储过程以标记兼容性问题 无痛http dbconvert com conve
  • Visual Studio 2012 不断显示升级报告

    我有一个从 VS 2010 和 SharePoint 2010 迁移的 SharePoint 2013 解决方案 每次在 VS 2012 中加载时都会给我一份升级报告 同时我还没有用 VS 2010 打开它 此外 所有源代码文件都受到写保护
  • 将处理项目移至 Eclipse

    我已经在处理项目上工作了一段时间 现在想将其移至 Eclipse 中 我已经在 Eclipse 环境中安装了 Proclipse 我有很多扩展名为 pde 的文件 然而 Proclipse 文件都以 java 结尾 所有 pde 文件都存在
  • 如何减少 WEBPACK + VUEJS 中的包大小

    我遵循了很多有关如何减小捆绑包大小的教程 但没有任何内容对捆绑包大小产生任何影响 我不知道为什么 每次当我向 webpack 添加一些新代码时 我的包大小都保持与以前相同 我的应用程序是使用 vue cli 3 pwa 插件 webpack

随机推荐