我有一个应用程序,它使用 express 来提供一些 API 调用和 webpack 来为开发中的一些静态资产提供服务。在我将 nodemon 带入设置之前,一切正常。当我使用 nodemon 运行我的应用程序时,当我在 React 端(客户端)更新文件时出现此错误。
GET http://localhost:3004/__webpack_hmr net::ERR_INCOMPLETE_CHUNKED_ENCODING
如果我在没有 nodemon 的情况下运行我的应用程序,HMR 可以完美运行,并且所有更新和重新加载 React 模块。
在我的 package.json 文件中,我有以下脚本。开始的工作正常,但使用 nodemon 的开发人员在对 React 组件进行更改时会导致错误。
"scripts": {
"start": "node server/app.js",
"dev": "nodemon server/app.js",
"build": "cross-env NODE_ENV=production webpack --config ./webpack/webpack.prod.config.js --progress --colors",
"heroku-postbuild": "npm run build"
},
有什么想法可能导致这种情况吗?
这是我的 webpack 配置文件中的入口点。
entry: [
`${ROOT_DIR}/js/index`,
'webpack-hot-middleware/client'
]
这是我使用 webpackHotMiddleware 的 webpack 设置,我在 app.js 中调用它并将 App 传递给它。应用程序是我的快递服务器。
const webpack = require('webpack');
const webpackDevMiddleware = require('webpack-dev-middleware');
const webpackHotMiddleware = require('webpack-hot-middleware');
const webpackConfig = require('../../webpack/webpack.dev.config.js');
const compiler = webpack(webpackConfig);
const devOptions = {
noInfo: true,
publicPath: webpackConfig.output.publicPath,
stats: { colors: true },
historyApiFallback: true
}
// WEBPACK MIDDLEEWARE
function setupWebpackMiddleware( app ){
app.use(webpackHotMiddleware(compiler));
app.use(webpackDevMiddleware(compiler, devOptions));
}
module.exports = {setupWebpackMiddleware}
使用以下版本。
"webpack": "^2.2.1"
"webpack-dev-middleware": "^1.10.0",
"webpack-dev-server": "~1.16.2",
"webpack-hot-middleware": "^2.16.1"