在webpack中创建多个块时,数组表示法和对象表示法有什么区别?

时间:2015-11-15 17:54:03

标签: javascript configuration webpack chunks webpack-dev-server

我的项目中启用了热重新加载功能,如此

entry: [
    'webpack-hot-middleware/client',
    './src/js/entry.js'
],
output: {
    path: path.join(__dirname, 'dist'),
    filename: 'bundle.js',
    publicPath: '/'
},

一切正常,直到我决定将供应商模块移到不同的文件中并且它不起作用。然后我意识到用数组创建多个块(如前所述)不同于使用对象符号创建llike this

entry: {
    hot: 'webpack-hot-middleware/client',
    app: './src/js/entry.js'
},
output: {
    path: path.join(__dirname, 'dist'),
    filename: '[name].bundle.js',
    publicPath: '/'
}

我在app.bundle.js中添加了hot.bundle.jsindex.html,但这仍然不起作用。知道为什么吗?

1 个答案:

答案 0 :(得分:0)

如果您只想指定几个块,只需将热插入脚本添加到其中一个块中即可:

entry: {
    vandor: './vendor/vendor.js',
    app: ['webpack-hot-middleware/client', './src/js/entry.js']
},

如果你愿意,你可以动态地做到:

entry: {
    vandor: ['./vendor/vendor.js'],
    app: ['./src/js/entry.js']
},
...
webpackConfig.entry.app.unshift('webpack-hot-middleware/client');