Webpack 4 splitChunks和libraryTarget

时间:2018-06-06 18:55:23

标签: webpack webpack-4 webpack-splitchunks

我有一些条目:appvendorpolyfillsbootstrap并输出为库['app', '[name]']和libraryTarget var

在浏览器中app变量包含:

{bootstrap: Module, polyfills: Module, vendor: Module, app: Module}

如果我使用optimization.splitChunks将rxjs移动到bootstrap chunk app变量包含:

{polyfills: Module, vendor: Module, app: Module}

(没有bootstrap块)

我的配置:

optimization: {
  runtimeChunk: {
    name: 'bootstrap'
  },
  splitChunks: {
    minSize: 1,
    chunks: 'all',
    cacheGroups: {
        vendors: false,
        default: false,
        rxjs: {
          name: 'bootstrap',
          test: /[\\/]node_modules[\\/]rxjs[\\/]/
        }
    }
  }
}

如何将rxjs移动到bootstrap块不会丢失app.bootstrap变量值?

1 个答案:

答案 0 :(得分:0)

  1. vendorpolyfillsbootstrap不能作为入口点。只有应用才是真正的切入点。

  2. 您不应“手动”使用webpack管理块,可以说您拥有真实的入口点app1和app2(因为app由两个页面组成);然后webpack将为您生成这些文件:

vendor.js vendor〜app1.bundle.js app1.js-应该在首页上加载

vendor.js vendor〜app2.bundle.js app2.js-应该在第二页上加载