Nuxt3对接接口时报错 :ERROR [nitro] [unhandledRejection] connect ECONNREFUSED ::1:80
排查了很久配置,端口等都是没问题的,但是如果直接将访问地址修改完整访问是没有问题但是我们会遇到跨域问题可以参考Nuxt3:跨域-CSDN博客,所以我们只能继续排查。配置相关都没有什么问题,那我们只能从底层逻辑去排查,对,就是nuxt的生命周期。
我们基本在处理调用的时候都是在created生命周期里请求数据,接口 /api/info ,这个会跑在服务端,superagent 内部是用的node url parse 去解析这个 /api 参数的,然后再传给相应的如 http request,所以默认就是80端口。那么我们如何解决呢?
其实很简单直接将请求放到 mounted 中即可~~~
<script setup lang="ts">
import {ref, onMounted } from "vue";
onMounted(() => {
$api.get('/api/info').then((data)=>{
console.log(data.data)
})
});
</script>
其中 $api 封装请求包,修改之后再运行就不会报错了~~~~