【问题标题】:webpack-dev-server returns 504 while backend returns 204webpack-dev-server 返回 504 而后端返回 204
【发布时间】:2021-01-04 03:14:12
【问题描述】:

这是一个错误文本(应用程序在所有 204 次响应中崩溃):

[HPM] Error occurred while trying to proxy request /rest/profiles/change-password from site.loc:3005 to https://site.loc (ECONNRESET) (https://nodejs.org/api/errors.html#errors_common_system_errors)

已调试的后端响应。它返回 204 状态代码,正文为空(数据 = null)。如果我构建一个应用程序一切正常。还有一点:其他开发者的 MAC OS 不会出现这种情况。

我的 webpack devServer 配置:

  devServer: {
    contentBase: PATHS.dist,
    host: appDomain,
    proxy: {
      '/rest': {
        target: appUrl,
        secure: false,
        changeOrigin: true
      },
    ...
 }

我的环境:

Windows 10 Pro x64
node version: v12.18.4
webpack-dev-server: "^3.11.0",

请帮忙!

【问题讨论】:

    标签: node.js windows webpack proxy webpack-dev-server


    【解决方案1】:

    我在那个错误上花了大约 3 天的时间,也许这个答案可以帮助任何人...... 我没有弄清楚为什么会出现这个错误,好心人帮我写了这段代码:

        proxy: {
          '/rest': {
            target: appUrl,
            secure: false,
            changeOrigin: true,
            onProxyRes: function (proxyRes, req, res) {
              console.log(proxyRes.statusCode);
            },
            onError: function (err, req, res) {
              console.log(`req.body: ${req.body}`); // here it returned undefined
              console.log(`err.code: ${err.code}`);
              if (err.code === 'ECONNRESET') {
                res.writeHead(204, {'Content-Type': 'application/json'});
                res.end();
              }
            },
          },
    

    之前尝试过使用webpack-dev-server绕过方法,axios拦截器,但是没有成功。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-30
      • 1970-01-01
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      • 2016-06-02
      相关资源
      最近更新 更多