当它加载一切正常,hmr正在工作。然后出现此错误。
GET http://localhost:3000/__webpack_hmr net::ERR_INCOMPLETE_CHUNKED_ENCODING
这就像webpackdevserver有点崩溃然后重新启动,它需要几秒钟,然后hmr再次工作
[HMR] connected
那么'崩溃'等......
我似乎只在Chrome(版本55)中使用此问题(使用mozilla测试并且不会出现此问题)。
我可能在我的webpack或node conf中遗漏了一些内容,但在doc中找不到任何内容。
知道如何解决这个问题吗?
//低于webpack conf
const path = require('path');
const merge = require('webpack-merge');
const TARGET = process.env.NODE_ENV;
process.env.BABEL_ENV = TARGET;
const webpack = require('webpack');
const NpmInstallPlugin = require('npm-install-webpack-plugin');
const PATHS = {
app: path.join(__dirname, 'client'),
build: path.join(__dirname, 'build')
};
const common = {
entry: {
app: [PATHS.app, 'webpack-hot-middleware/client']
},
resolve: {
extensions: ['', '.js', '.jsx']
},
output: {
path: PATHS.build,
filename: 'bundle.js',
publicPath: '/'
},
module: {
loaders: [
{
test: /\.css$/,
loaders: ['style', 'css'],
include: PATHS.app
},
{
test: /\.jsx?$/,
loaders:['babel?cacheDirectory=true'],
include: PATHS.app
}
]
}
};
if(TARGET === 'dev' || ! TARGET) {
module.exports = merge(common, {
// devServer: {
// contentBase: PATHS.build,
// historyApiFallback: true,
// hot: true,
// inline: true,
// progress: true,
// stats: 'error-only',
// host: 'http://127.0.0.1/',
// port: 3000
// },
export: {
isDev: true
},
plugins: [
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('dev')
}),
new NpmInstallPlugin({
save: true
})
],
devtool: 'eval-source-map'
});
}
if(TARGET === "build") {
module.exports = merge(common, {});
}
// Nodejs路由
this.app.get('/', function(req,res) {
res.sendFile(path.join(__dirname, './../../build/index.html'))
})
// index.html
<!DOCTYPE html>
<html>
<head>
<title> Ripple Data Analyzer</title>
</head>
<body>
<div id='root'>
</div>
<script src="bundle.js"></script>
</body>
</html>
//index.就是
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App.jsx';
ReactDOM.render(<App/>, document.getElementById('root'));
真正的原因是我在我的节点服务器上放了一个setTimeout
server.timeout = 100;
我建议你将node.js更新为最新的LTS版本,因为这是在8.1.0版本中修复的节点错误(不确定版本)
sudo s 8.9.1
(用于linux)
盖伊,我建议你更新你的节点版本,这是节点link的问题,但为了轻松解决你的问题,请按照以下步骤:
node -v
sudo npm cache clean -f
sudo npm i n -g
sudo n stable
node -v
见到你;)