Angular 如何使网页包忽略组件';模板?

Angular 如何使网页包忽略组件';模板?,angular,webpack,Angular,Webpack,我在Angular4/AngularMaterial2/TypeScript项目中使用Webpack3来捆绑js代码。我试图基于以下示例实现延迟加载: 我的项目使用带有外部模板的角度组件(templateUrl而不是template)。Webpack试图将它们包含在捆绑包中,但我希望将它们保留在外部。如何使Webpack停止捆绑模板 我的网页包配置: "use strict"; const path = require("path"); const ngtools = require("@ng

我在Angular4/AngularMaterial2/TypeScript项目中使用Webpack3来捆绑js代码。我试图基于以下示例实现延迟加载: 我的项目使用带有外部模板的角度组件(templateUrl而不是template)。Webpack试图将它们包含在捆绑包中,但我希望将它们保留在外部。如何使Webpack停止捆绑模板

我的网页包配置:

"use strict";

const path = require("path");
const ngtools = require("@ngtools/webpack");
const webpack = require("webpack");
const CommonsChunkPlugin = webpack.optimize.CommonsChunkPlugin;

module.exports = {
    devtool: "source-map",
    context: path.resolve(__dirname, "out"),
    entry: {
        app: [path.resolve(__dirname, "out", "app")],
        vendor: [path.resolve(__dirname, "out", "vendor")]
    },
    output: {
        path: path.resolve(__dirname, "out", "public", "assets", "js"),
        filename: "[name].js",
        publicPath: "/assets/js/"
    },
    module: {
        loaders: [
            { test: /\.js$/, exclude: /node_modules/, loader: "@ngtools/webpack" }
        ]
    },
    resolve: {
        extensions: [".ts", ".js"]
    },
    plugins: [
        new ngtools.AotPlugin({
            tsConfigPath: "./tsconfig.json",
            mainPath: "./app.ts"
        }),
        new CommonsChunkPlugin({
            name: "vendor"
        }),
        new CommonsChunkPlugin({
            async: true
        })
    ]
};

我错过了什么?

我不明白。如果我在没有AOT的情况下使用Webpack,我会得到更小的js文件(仍然非常大,但比使用AOT时要小),html文件会单独加载。装载时间无法接受。如果我将Webpack与AOT结合使用,html文件会捆绑在一起,js文件会变得非常庞大,但加载时间非常长(只要连接良好)。难道没有办法从这两个世界中得到最好的结果吗?