答案 0 :(得分:11)
无论您拥有多少入口点,您都应该为供应商文件提供单独的文件,例如框架(react,angular,whatevs)以及您始终需要但很少会更改的任何库。您希望这些作为单独的捆绑包,以便您可以缓存它。应始终加载该捆绑包。您在该捆绑包中包含的任何内容将始终可用,但如果您将其与commonChunksPlugin一起使用,则不会在您的块中重复。
以下是我已完成的应用中的示例(仅显示相关的配置选项):
module.exports = {
entry: {
client: 'client',
vendor: [
'react',
'react-addons-shallow-compare',
'react-addons-transition-group',
'react-dom',
'whatwg-fetch'
]
},
output: {
path: `${__dirname}/dist`,
filename: '[name].js',
publicPath: '/build/'
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
names: ['vendor', 'manifest']
})
]
}
答案 1 :(得分:3)
也许我没有正确理解,但你不能在你的webpack配置中的其他入口点之前添加babel-polyfill
吗?
module.exports = {
entry: ['babel-polyfill', './app/js', '/app/js/whatever']
};