Reactjs Web包开发服务器和生成器具有不同的哈希值
当运行WebpackDevServer时,它会创建散列文件,但不会创建真正的物理文件-所以得到404错误 但若用Watcher运行Builder,它会创建真正的散列文件,我可以直接从服务器获取它 但是:HMR说得到不同的散列,然后由生成器创建 所以:我有一个真正的散列包,可以从…,但我的浏览器想得到另一个散列包,这是不存在的资源文件夹Reactjs Web包开发服务器和生成器具有不同的哈希值,reactjs,webpack,webpack-dev-server,hot-module-replacement,webpack-hot-middleware,Reactjs,Webpack,Webpack Dev Server,Hot Module Replacement,Webpack Hot Middleware,当运行WebpackDevServer时,它会创建散列文件,但不会创建真正的物理文件-所以得到404错误 但若用Watcher运行Builder,它会创建真正的散列文件,我可以直接从服务器获取它 但是:HMR说得到不同的散列,然后由生成器创建 所以:我有一个真正的散列包,可以从…,但我的浏览器想得到另一个散列包,这是不存在的资源文件夹 raven.js:1074 GET http://localhost:8080/004e386432676c218bd0.hot-update.json 404
raven.js:1074 GET http://localhost:8080/004e386432676c218bd0.hot-update.json 404 (Not Found)
奇怪的是:下一个字符串显示了两次
2 raven.js:80[WDS]应用程序已更新。重新编译…
->两次
配置如下:
var buildPath = __dirname + '/public/js/bundles';
module.exports = {
context: path.join(__dirname, '/resources/scripts'),
devtool: process.env.NODE_ENV === 'production' ? null : 'inline-source-map',
entry: {
...entries...
campaigns: [
'webpack/hot/only-dev-server',
'webpack-dev-server/client?http://localhost:8080',
'./appjs/campaigns/campaignsEntry.js',
]
},
output: {
path: buildPath,
publicPath: 'http://localhost:8080/',
filename: process.env.NODE_ENV === 'production' ? '[name]-bundle-[chunkhash].js' : '[name]-bundle.js'
},
devServer: {
hot: true,
contentBase: buildPath,
publicPath: 'http://localhost:8080',
port: 8080,
headers: { "Access-Control-Allow-Origin": "*" },
lazy: false,
stats: { colors: true }
},
module: {
loaders: [
{
test: /\.jsx?$/,
loader: 'babel-loader',
exclude: /node_modules/,
query: {
presets: ['es2015-loose', 'react'],
plugins: ['transform-object-rest-spread', 'transform-class-properties']
}
}
]
},
plugins: [
new webpack.NoEmitOnErrorsPlugin(),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || 'development')
}),
new webpack.optimize.OccurrenceOrderPlugin(),
]
};
if (process.env.NODE_ENV === 'production') {
...
} else {
module.exports.plugins.push(
new webpack.HotModuleReplacementPlugin(),
new webpack.NamedModulesPlugin()
);
}
你应该在问题中发布你的webpack.config.js添加了配置。你知道吗?我有一个类似的问题@kosiakMDI不记得了,似乎没有:(@lupos但是这个bug就像是在第一个bug之后被触发了一样,并生成了hash。谢谢你的回复。我现在放弃了,只是生活在实时重新加载中。非常令人沮丧。你应该在问题中发布你的webpack.config.js添加了配置。你有没有发现这个问题?我有一个类似的问题@kosiakMDI不记得了,似乎是这样的没有:(@lupos但是这个bug就像是在第一个bug之后被触发了一样,并生成了hash。谢谢你的回复。我现在已经放弃了,只是生活在实时重新加载中。非常令人沮丧。