Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular AOT与ngTools/webpack一起使用惰性模块创建多余的无用块_Angular_Webpack_Angular Aot - Fatal编程技术网

Angular AOT与ngTools/webpack一起使用惰性模块创建多余的无用块

Angular AOT与ngTools/webpack一起使用惰性模块创建多余的无用块,angular,webpack,angular-aot,Angular,Webpack,Angular Aot,我有生成以下捆绑文件的Web包: main.prod.js(好) vendors.prod.js(良好) 0.chunk.prod.js(错误-这是延迟加载模块的捆绑包) 1.chunk.prod.js(Bad-这是延迟加载模块的捆绑包) 问题是我希望延迟加载的模块(例如:0.chunk.prod.js)成为main.prod.js包的一部分 webpack.common.js webpack.prod.js 好奇的是:如果你想将延迟加载的模块捆绑到主脚本中,为什么要使用它们呢?我以前也用g

我有生成以下捆绑文件的Web包:

  • main.prod.js(好)
  • vendors.prod.js(良好)
  • 0.chunk.prod.js(错误-这是延迟加载模块的捆绑包)
  • 1.chunk.prod.js(Bad-这是延迟加载模块的捆绑包)
问题是我希望延迟加载的模块(例如:0.chunk.prod.js)成为main.prod.js包的一部分

webpack.common.js webpack.prod.js
好奇的是:如果你想将延迟加载的模块捆绑到主脚本中,为什么要使用它们呢?我以前也用gulp+rollup做过同样的事情,性能很好,而且处理一个捆绑包很简单。也许webpack有一种更简单的方法来处理这个问题,但我没有找到它?我这样问是因为我认为延迟加载的主要点是,在应用程序使用期间,脚本在被请求之前不会加载,这是一种限制初始下载大小和解析时间的方法。既然你放弃了大部分好处,我只是想知道为什么不使用常规(而不是惰性)路线?它们的设置更简单,更易于维护。
module.exports = {
   entry: {
       'polyfills': './staticContent/polyfills.ts',
       'main': ["./path/to/main.ts" ]
    },
    resolve: {
        extensions: ['.ts', '.js'],
        alias: { }
    },
    module: {
      loaders: [
          {
              test: /\.html$/,
              use: 'html-loader?minimize=false',
          },
      ]
  },
  plugins: [
        new webpack.optimize.CommonsChunkPlugin({
           name: "vendors",
           minChunks: function (module) {
             return module.context && module.context.indexOf("node_modules")!== -1;
          }
       })
  ]
};
module.exports = webpackMerge(commonConfig, {
    output: {
        path: __dirname + '/bundles',
        filename: '[name].prod.js',
        chunkFilename: '[id].chunk.prod.js'
    },
    module: {
        loaders: [
            { test: /\.ts$/, loaders: ['@ngtools/webpack'] }
        ]
    },
    plugins: [
        new AotPlugin({
            tsConfigPath: './tsconfig.aot.json',
            entryModule: 'path/to/app.module#AppModule'
        }),
        new ExtractTextPlugin({
            filename: "[name].prod.css"
        }),
        new webpack.optimize.UglifyJsPlugin({
                minimize: true,
                compress: {
                    warnings: false
                },
                output: {
                    comments: false
                },
                sourceMap: false
            }
        )
    ]
});