简体   繁体   English

webpack-dev-server 返回 504 而后端返回 204

[英]webpack-dev-server returns 504 while backend returns 204

Here is an error text (app crashes at all 204 reponses):这是一个错误文本(应用程序在所有 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)

Debugged backend response.调试的后端响应。 It returns 204 status code with empty body (data = null).它返回带有空主体的 204 状态代码(数据 = 空)。 If I build an app everything is working fine.如果我构建一个应用程序一切正常。 One more moment: it doesn't occur at other developer's MAC OS.还有一点:它不会发生在其他开发人员的 MAC OS 上。

My webpack devServer config:我的 webpack devServer 配置:

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

My enviroment:我的环境:

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

Please, help!请帮忙!

I spent about 3 days on that error, myabe this answer could help anyone... I didn't figure out why this error occur, good people helped me with this code:我在那个错误上花了大约 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();
          }
        },
      },

Previously tried to do this using webpack-dev-server bypass method, axios interceptors, but with no success.以前尝试使用 webpack-dev-server 绕过方法,axios 拦截器来做到这一点,但没有成功。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM