我使用Webpack的多配置导出功能来构建两组独立的bundle。这里的第二个配置(标记为serviceWorkerConfig)需要从第一个配置发出的文件。我天真地以为它们是串行运行的,因为它是一个数组,但我猜不是。
const { merge } = require('webpack-merge');
const bundleProcessor = require("./webpack.bundleProcessor.config.js")
const serviceWorkerConfig = require("./webpack.serviceWorker.config.js")
module.exports = (env, argv) => {
return [
merge(bundleProcessor,
{ mode: "development", }
),
merge(serviceWorkerConfig, // requires file emitted from first configuration
{ mode: "development" }
),
];
};
我尝试像文档中给出的例子那样添加module.exports.parallelism = 1;
,但这似乎对我不起作用。
有没有一种方法可以让Webpack以串行而不是并行的方式构建多个配置导出?
3条答案
按热度按时间91zkwejq1#
从我的经验来看,我做了类似的事情,
1.与Webpack配置类似,但返回一个dict,
1.调用webpack两次
虽然这不是Webpack的一些设置,但它起作用了。不知道你是否尝试过,或者是否适合。
zsbz8rwp2#
parallelism
是要使用的CPU数量(您需要一个单线程CPU才能工作)。虽然maxConcurrentWorkers
听起来很有前途,但这只能通过NodeJS API获得。除了webpack-chain
似乎接近你所要求的.让我们面对它,一个不能合并一个单一的项目(如上面的例子所示-为了比较,docs)。如果必须进行合并,则应该是一个合并的配置,由该文件的配置组成,并与依赖于它的serviceWorkerConfig
合并。我认为,一个插件合并配置可能甚至不适合的工作.但是一个模块必须依赖于另一个模块。当被定义为
library
&externals
时,它更倾向于表示依赖项,它显然存在,但从未被声明过。一个简单的脚本(如@文博所建议的)可能确实是最少的努力......并且它还可以在两者之间检查/复制有问题的一个文件。
elcex8rz3#
我认为Monorepo和它的应用程序依赖性将有助于您的情况