nuxt3:nitro devProxy(本地代理)

本文介绍了在Nuxt3中配置代理以解决跨域问题的方法,包括nitro的devProxy设置,以及在ssr模式下使用useFetch访问全路径接口的实践。中间件方式也被证实为一种成功策略。在nitro的本地代理中,/api前缀用于配合代理,请求时需添加相应前缀以避免错误。文章作者欢迎读者交流和指正。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景

nuxt3配置代理,尝试了各种方法。

vite:没有成功。

nitro:devProxy,代理成功,见本文。

ssr为true模式下,使用useFetch()访问全路径接口地址,这样是能访问通的,经过测试本地开发环境,项目部署后服务器环境,都没有问题。所以ssr模式可以这样使用,看到的资料中基本也都是这么用的。

中间件方式:成功

nuxt3 中间件方式接口转发实现跨域-SNOW

二、nitro本地代理

nuxt.config.ts

    nitro: {
        devProxy: {
            '/api': {
                target: 'https://md.abc.com.cn',
                changeOrigin: true,
            },
        }
    },

第一个“/api”是为了配合本地代理增加的,这里通过测试个人理解似乎是“/api”被替换成空了,类似在rewrite被替换成空字符串一样。所以如果接口地址前边不加这个会报错。

同理如果本地代理写成“/m-staff-center”,那么请求接口时候前边增加“/m-staff-center”。

const res = $fetch('/api/m-staff-center/api/v1/role/pageList')
console.log('32fetch', res)

经过测试,这样的方式,本地代理成功。401是接口返回的内容,没有登录。

三、欢迎交流指正,关注我,一起学习。

nitro 本地代理,为什么会这样呢,有待继续探索。欢迎留言指正。

四、相关内容

nuxt3 中间件方式接口转发实现跨域-SNOW

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值