0

我有一个应用程序,它使用 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"
4

0 回答 0