nuxt ERROR connect ECONNREFUSED ::1:80

错误:

ERROR connect ECONNREFUSED ::1:80 18:06:00

at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16)

这个报错也是一直困扰了我许久,服务端一直打印这个报错,但是页面数据响应又都正常,起初真不知道是因为什么原因,能看出来他是在调用80端口, 但是不明白为什么会调用80端口。一度以为是config.js里面配置问题,所以解决的思路就一直在考虑配置方面,端口等方面。

最后发现都没有效果,在网上也查了各种类似的报错问题,解决方案也都不在点子上。考虑到我的config配置都是按官方模板配置的,应该不会出问题,所以考虑到换个方向去解决。

最后突然想到之前了解过nuxt的生命周期,beforeCreated 和 created 是同时运行在服务端和客户端上的,mounted以后才会运行在客户端。

那么问题关键就找到了,之前spa项目在created生命周期里请求数据,我使用的三方axios,那么整体转为ssr,为避免大量改动,就还是使用的三方axios,接口 /api/user ,现在这个会跑在服务端,那么superagent 内部是用的node url parse 去解析你的这个 /api 参数的,然后再传给相应的如 http request,所以默认就是80端口。

问题原因找到了,那我们就需要改下生命周期就行了,让原先项目里在created里请求数据,全部改成mounted里去请求。果然问题就解决了

image-20220925181651410

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值