全局关闭Webpack的延迟加载,而无需任何魔术评论

时间:2019-05-07 08:33:54

标签: javascript webpack

是否可以在一个集中位置关闭Webpack的延迟加载?像使用控制台开关或webpack.config.js文件中的选项一样?

我会在所有可能的地方使用“魔术注释” /* webpackMode: "eager" */,但是如果另一个第二级模块要求在导入过程中缺少“魔术注释”的第三级模块。

结果,我有一个大捆和几个小块,而我希望它们成为其余大捆的一部分。

不幸的是,我无法遍历所有源代码树并设置/* webpackMode: "eager" */,因为那里有很多npm库...

有什么办法可以一劳永逸地解决这个问题?

P.S。使用的Webpack版本为4.30.0

目前,关于webpackMode: "eager"的讨论正在进行,应该是Webpack 5的默认选项。但是,据我所知,没有特别的职位。

1 个答案:

答案 0 :(得分:1)

我找到了这个问题的答案-标准Webpack的LimitChunkCountPlugin

可以从webpack.config.js使用它,也可以从命令行覆盖其设置。

它在Webpack 4.30.0上不做任何额外的工作对我来说就是有效的。这是应添加到配置文件中的部分:

const webpack = require('webpack');
module.exports = {
  // ...
  plugins: [
    new webpack.optimize.LimitChunkCountPlugin({
      maxChunks: 1
    })
  ]
};

在将此代码与您的配置合并时,重要的是不要忘记导入webpack(第1行)。