Reactjs 使用react hot时拆分供应商和应用程序
我正在将react hot plugin与webpack一起使用,在我按照说明操作后,它会工作:Reactjs 使用react hot时拆分供应商和应用程序,reactjs,webpack,Reactjs,Webpack,我正在将react hot plugin与webpack一起使用,在我按照说明操作后,它会工作: module.exports = { entry: [ 'webpack-dev-server/client?http://localhost:8090', 'webpack/hot/only-dev-server', './src/index' ], output: { path: path.join(__di
module.exports = {
entry: [
'webpack-dev-server/client?http://localhost:8090',
'webpack/hot/only-dev-server',
'./src/index'
],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
publicPath: '/static/'
},
plugins: [
new webpack.HotModuleReplacementPlugin()
],
module: {
loaders: [{
test: /\.js$/,
loaders: ['react-hot', 'babel'],
include: path.join(__dirname, 'src')
}]
}
};
生成的/static/bundle.js
包含所有库
虽然我想从我的应用程序中拆分供应商,但我尝试添加多个入口点:
module.exports = {
entry: {
app: ['./src/index'],
vendor: [
'webpack-dev-server/client?http://localhost:8090',
'webpack/hot/only-dev-server'
]
},
output: {
path: path.join(__dirname, 'dist'),
filename: '[name].bundle.js',
publicPath: '/static/'
},
plugins: [
new webpack.HotModuleReplacementPlugin()
],
module: {
loaders: [{
test: /\.js$/,
loaders: ['react-hot', 'babel'],
include: path.join(__dirname, 'src')
}]
}
};
但是/static/app.bundle.js仍然包含jquery,react…
这可能吗
更新这是@zerkms提到必须明确声明供应商后可以按预期工作的配置:
module.exports = {
entry: {
app: ['./src/index'],
vendor: [
'webpack-dev-server/client?http://localhost:8090',
'webpack/hot/only-dev-server', 'react', 'jquery'
]
},
output: {
path: path.join(__dirname, 'dist'),
filename: 'app.bundle.js',
publicPath: '/static/'
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.optimize.CommonsChunkPlugin('vendor', 'vendor.bundle.js')
],
module: {
loaders: [{
test: /\.js$/,
loaders: ['react-hot', 'babel'],
include: path.join(__dirname, 'src')
}]
}
};
vendor:['jquery','react']
webpack/hot/only dev server如何??我不使用热重新加载,所以不确定。但是,如果您想将一些库提取到它们自己的包中,您必须显式地枚举它们(警告您,即使不使用它们,它们中的每一个都将被初始化(运行))谢谢,它起到了作用。查看我的更新。供应商:['jquery','react']
关于网页包/hot/only dev server
?我不使用热重新加载,所以不确定。但是,如果您想将一些库提取到它们自己的包中,您必须显式地枚举它们(警告您,即使不使用它们,它们中的每一个都将被初始化(运行))谢谢,它起到了作用。查看我的更新。