您的webpack.config文件可以提供多个入口点吗?

use*_*871 4 webpack angular

由于在开发项目时学习了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/
        }]
    }
};
Run Code Online (Sandbox Code Playgroud)

是否可以定义两个入口点,如下所示:

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/
        }]
    }
};
Run Code Online (Sandbox Code Playgroud)

或者我最好回去重新构建我的项目以使用路由并有一个入口点为我提供组件?

The*_*ear 5

简短的回答,是的.

您可以拥有多个入口点,并根据需要生成多个输出.
entry属性可以是字符串,对象数组.

例:

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 ...
};
Run Code Online (Sandbox Code Playgroud)

随着[name]你会得到的入口点的名称,"主"和你的情况"MAIN2",所以你最终束将被称为"main.js""main2.js"

检查此文档(适用于webpack 1,但在webpack 2/3中几乎相同).