我遇到了webpack-dev-server和react-hot loader的问题。当无法热变化时(例如,在编辑非反应组件时),有时需要整页重新加载。由于开发服务器将所有新更改保留在内存中并且不将它们写入磁盘,因此执行完全重新加载会加载最新的完整版本。每次发生这种情况我都必须杀死开发服务器,进行完整构建,然后重新加载页面。
我想知道我是否有错误的配置 - 即使在完全重新加载后,开发服务器是否应该从内存中提供最新的捆绑包?如果没有,是否有人对此问题有创造性的解决方法?
这是我的webpack包和服务器配置:
var webpack = {
bundle: {
resolve: {
alias: vendor.scripts.src.paths
},
entry: {
app: [
'webpack-dev-server/client?http://localhost:3001',
'webpack/hot/only-dev-server',
app.scripts.src
],
vendor: vendor.scripts.src.names
},
output: {
path: buildDirs.js,
filename: app.scripts.bundle
},
plugins: [
new webpack.optimize.CommonsChunkPlugin('vendor', vendor.scripts.bundle),
new webpack.optimize.DedupePlugin(),
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery',
react: 'React'
}),
new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /en-gb/),
new webpack.HotModuleReplacementPlugin()
],
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
include: srcRoot,
loaders: ['react-hot', 'babel?stage=0']
}
]
},
watch: true,
devtool: 'cheap-module-source-map',
progress: true
},
server: {
contentBase: buildRoot,
hot: true,
historyApiFallback: true
}
};