相关疑难解决方法(0)

禁用Webpack 4中的树抖动

是否有配置选项来禁用Webpack 4中未使用的模块检测?

我们最近从切换lodashlodash-es支持的树摇晃.它工作得很好,捆绑包小得多,但现在我们的构建需要大约两倍的时间(从3分钟到6分钟).

很高兴在dev上禁用它来加速构建,因为bundle大小并不重要.

我找到了这个未记录的配置选项,但我不确定它将如何应用https://github.com/webpack/webpack/blob/master/lib/WebpackOptionsDefaulter.js#L207.显然UglifyJS没有在dev中运行,所以我假设所有的减速都来自Webpack做的工作来标记哪些模块未被使用.

我以为你可以做一些类似别名的东西lodash-es,lodash只有开发,但这是超级hacky,无论如何Lodash不能使用树摇动所需的import * as _语法lodash-es

我假设这是插件,它将导入标记为未使用,但由于它默认启用,我不知道如何禁用它或从插件数组中删除它https://github.com/webpack/的WebPack /斑点/下/ LIB /优化/ SideEffectsFlagPlugin.js#L1

看起来很奇怪你不能只treeShaking: false在配置中设置或者其他东西.https://webpack.js.org/guides/tree-shaking/没有提及任何内容.

我们已经设置modedevelopmentproduction基于编译环境,但是我们看到即使在这些发展较慢的构建时间.这表明mode: development不会禁用未使用的模块检测.

webpack

7
推荐指数
1
解决办法
1820
查看次数

标签 统计

webpack ×1