在入口点之间缓存webpack模块

4
我需要为我们的图书馆生成一个分客户文件,但是图书馆本身是相同的,唯一的区别是将单个客户配置文件添加到主图书馆文件中。
我们今天的做法是:
{
  entry: {
    customer1: ["customer1-config.js", "main.js"],
    customer2: ["customer2-config.js", "main.js"],
  }
}

这样做的问题在于每个客户端都会重新构建 main.js 文件。
有没有办法只构建一次并将其合并到每个客户端中?
更新:输出应该是每个入口点都包含整个 main.js 文件和自定义的客户配置。
1个回答

2

进行两次构建:

  • 第一次构建将代码构建为未配置的模块,导出您的库。这样可以轻松测试配置,并且仅针对所有客户端发生一次
  • 第二次构建只需要从dist文件夹中要求您的主输出模块(第一次构建的产品),然后在其上添加配置。

我已经成功地解决了这个问题。虽然不是最优雅的解决方案,但实际上它确实起到作用。它只增加了一点复杂性,好处是其他客户可以自定义您的库。


你能提供一个 webpack 配置的例子吗? - pery mimon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接