2021-05-10 乐帮网
webpack vuejs
项目开发环境 nodejs + vue + webpack,在nodejs + angular+ webpack下也类似,错误一样。个人开发使用的操作系统是Windows 10,使用 npm run dev运行项目,前端使用vue模块框架,后端使用了Web Api,所以在使用接口的时候自然要遇到跨域问题,这里我们使用了常规解决方案》代理,详细的使用过程这里不细说。主要问题是以前一段内都运行正常的项目,为什么突然调用接口不成功报错如下:
[HPM] Error occurred while trying to proxy request /OAuth/Token from localhost:8082 to http://localhost:16841 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
这很明显就是代理有问题,经过一天的跟踪和网上查询,发现目前网络还没有正确的解决办法。下面记录一下我的处理过程。
(1)说是api端口没有运行,这个确实有这种情况不过报的不是这个错误了。我的情况是使用postman调用一切正常,所以这种情况给排除。
(2)通过 npm run build 发布并运行项目,如果api和主程序不是一样端口那么返回错误一样。如果是一个端口那么问题不存在,确实证明这个就是代理出了问题。
(3)开始怀疑是系统设置问题,因为前段时间我使用了fiddler,于是查看系统的代理设置,按一下windows键 ,输入“代理” 找到 代理服务器设备 进去看了一圈发现一切正常。
(4)再查看host文件在目录:C:\WINDOWS\system32\drivers\etc 下找到host ,看了一下关键字
127.0.0.1 localhost
::1 localhost
也没有问题,我是使用了localhost做为主机访问地址。
(5)通过命令npm list 命令查看npm 已经安装的包,发现有些丢失,于是重新安装并更新相关包,依旧有问题。这个过程就不详细说明了。
(6)最后无奈在vs code中修改了相关配置,换了一个端口,发现依然无效。
[HPM] Error occurred while trying to proxy request /OAuth/Token from localhost:8082 to http://localhost:16841 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
[HPM] Error occurred while trying to proxy request /Main/GetOnlineNum/ from localhost:8080 to http://localhost:16841 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
这些错误好烦。
最后的解决方案:
通过以上几个操作我隐隐感觉到这个可能是一个bug,是一个由缓存引起的bug,遇到以上问题都是在使用了代理类的软件后,例如我使用过fiddler,那后面如果清理类似缓存呢?目前还没有找到方法,不过我们可以选择另一种思路解决。
下面是我的代理配置节:
proxyTable: {
"/api": {
target: "http://localhost:16841",
changeOrigin: true,
pathRewrite: {
"^/api": ""
}
}
},
改为如下配置:
关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com
庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。
如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力