Angular 您的webpack.config文件能否提供多个入口点?

Angular 您的webpack.config文件能否提供多个入口点?,angular,webpack,Angular,Webpack,由于在开发项目的过程中学习了Angular 2,我没有像我应该做的那样合并路由。我有一个引导一个组件的main.js文件,另一个引导第二个组件的main2.js文件(我现在知道我应该从一个页面发送它们,但是我们已经深入到了这个项目中,它会导致备份((如果需要的话会这样做))。我正在尝试使用webpack捆绑代码以实现“可加载性”(sp?) 这是我的webpack.config.js文件: var path = require( 'path' ); var webpack = require( '

由于在开发项目的过程中学习了Angular 2,我没有像我应该做的那样合并路由。我有一个引导一个组件的main.js文件,另一个引导第二个组件的main2.js文件(我现在知道我应该从一个页面发送它们,但是我们已经深入到了这个项目中,它会导致备份((如果需要的话会这样做))。我正在尝试使用webpack捆绑代码以实现“可加载性”(sp?)

这是我的webpack.config.js文件:

var path = require( 'path' );
var webpack = require( 'webpack' );

module.exports = {
    entry: "./main",
    output: {
        path: __dirname,
        filename: "./dist/bundle.js"
    },
    resolve: {
        extensions: ['.js', '.ts']
    },
    module: {
        loaders: [{
            test: /\.ts/, loaders: ['ts-loader'], exclude: /node_modules/
        }]
    }
};
是否可以这样定义两个入口点:

var path = require( 'path' );
var webpack = require( 'webpack' );

module.exports = {
    entry: "./main",
    output: {
        path: __dirname,
        filename: "./dist/bundle.js"
    },
    resolve: {
        extensions: ['.js', '.ts']
    },
    module: {
        loaders: [{
            test: /\.ts/, loaders: ['ts-loader'], exclude: /node_modules/
        }]
    }
};

module.exports = {
    entry: "./main2",
    output: {
        path: __dirname,
        filename: "./dist/bundle2.js"
    },
    resolve: {
        extensions: ['.js', '.ts']
    },
    module: {
        loaders: [{
            test: /\.ts/, loaders: ['ts-loader'], exclude: /node_modules/
        }]
    }
};

还是我最好回去重新构建我的项目,使用路由,让一个入口点为我提供组件?

简短回答,是的。

您可以有多个入口点,如果需要,将生成多个输出。
条目属性可以是字符串、对象或数组。

示例:

var path = require( 'path' );
var webpack = require( 'webpack' );

module.exports = {
    entry: {
        "main": "./main.ts",
        "main2": "./main2.ts",
    }
    output: {
        path: path.join(__dirname, './dist'),
        filename: "[name].js"
    },
    // Rest of your config ...
};
使用
[name]
您将获得入口点的名称,在您的示例中为“main”和“main2”,因此最终的捆绑包将被称为“main.js”和“main2.js”


检查此项(适用于第1页,但第2/3页中的内容几乎相同)。

非常感谢!这使我不用重新组织整个项目:)