在入口点之间缓存webpack模块

时间:2017-06-08 07:38:43

标签: webpack

我需要为我们的库生成每个客户的文件,但库本身是相同的,唯一的区别是正在添加到主库文件的单个客户配置文件。

我们今天的做法是:

{
  entry: {
    customer1: ["customer1-config.js", "main.js"],
    customer2: ["customer2-config.js", "main.js"],
  }
}

问题在于,正在为每个客户重建main.js文件。

有没有办法只构建一次并将其合并为每个客户?

更新:输出应该是每个入口点都将包含整个main.js文件&自定义客户配置。

1 个答案:

答案 0 :(得分:2)

做两个版本:

  • 第一个构建没有配置的代码作为导出库的模块。这样可以轻松测试配置,只有一次为所有客户端发生。
  • 第一个只需要dist文件夹中的主输出模块(第一次构建的产品),需要它,然后在顶部添加配置。

我成功完成了这个以解决问题。它不是最优雅的解决方案,但它在实践中有效。它只增加了一点复杂性,其优点是其他客户可以自定义您的库。