Loading...

文章背景图

Nuxt 3 请求跨域解决方案

2025-03-21
3
-
- 分钟
|

引言

在用Nuxt3的时候,本地执行请求,可以通过代理执行跨域请求,但是切换到服务器部署后,发现一直出现请求跨域;找了好多办法都未能解决,最后想到Nuxt提供了server/api的配置,最终解决了

编辑nuxt.config.js

// 以下配置皆是新增的
runtimeConfig: {
 proxyURL: 'http://localhost:3001/api' // 需要代理到的域名地址
},

### server 文件夹下,新建 /api/blog 文件夹(建议语义化、业务化命名)

新建并编辑index.ts

export default defineEventHandler(async (event) => {
  // 读取运行时配置集中的proxyURL配置;
  const proxyURL = useRuntimeConfig().proxyURL;
  // 执行URL拼接
  const reqURL = `${proxyURL}/article/list`;
  // 执行请求
  const {isSuccess,data} = await $fetch(reqURL, {
    method: 'POST'
  });
  // 回传请求结果
  return isSuccess ? data : false;
})

业务文件.vue

const {data} = await useFetch('/api/article');
console.log(data.value);

评论交流

文章目录