我想使用WebPack构建我的JavaScript应用程序。应用程序应该部署在几个站点上,通过几个不同的修改。因此,我将配置设置为使用多个入口点,每个站点一个:
entry: {
s1: "s1",
s2: "s2",
s3: "s3"
},应用程序还使用了几个依赖项,这些依赖项是通过AMD模块加载的(我以前使用过RequireJS ):
c1
c2
...假设s1同时需要c1和c2,而s2只需要c1。构建工作正常,它创建s1、s2和s3作为入口点,并根据站点的需要创建几块包含各种组件组合的块:
/* s1 */
define(['c1', 'c2'], function(c1, c2) { ... }我的问题是:我需要在配置中指定什么才能将每个站点包构建为一个独立的文件?我欣赏WebPack将应用程序分割成块的能力,但是现在我需要每个构建都成为一个JS文件(出于各种原因)。
当我只配置一个入口点(如entry: "s1")时,我可以轻松地实现这一点,使用以下方法:
webpack.optimize.LimitChunkCountPlugin({maxChunks: 1})但是,对于多个入口点,此配置会在所有入口点之上创建一个额外的块。如何确保每个构建的入口点(如s1.bundle.js、s2.bundle.js、.)包含该文件中的所有JavaScript,并且不需要按需加载任何块?
发布于 2016-03-01 22:43:14
听起来最简单的方法是有多个构建(每个构建都有一个入口点),而不是一个具有多个入口点的构建。如果您的webpack.config.js导出一个配置对象数组,而不是单个配置对象,webpack将为每个配置自动进行单独的构建。例如,您可以将入口点放在数组中并循环遍历,为每个数组创建一个config对象。现在每个配置只有一个入口点,LimitChunkCountPlugin应该为您提供一个文件。
https://stackoverflow.com/questions/35732478
复制相似问题