Nuxt中使用axios并设置代理

安装nuxtjs/axios模块后,在nuxt.config.js中设置代理,将/api/路径重定向到http://localhost:3002,实现跨域请求。

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

安装

npm i @nuxtjs/axios

安装完成后在nuxt.config中进行配置

export default{
  modules: [
    // https://go.nuxtjs.dev/axios
    '@nuxtjs/axios'
  ],
  // 代理设置
  proxy: {
    // 配置/api代理到http://localhost:3002
    '/api': {
      target: 'http://localhost:3002', // 目标接口域名
      pathRewrite: { // 重写路径
        '^/api/': '/'
      },
      changeOrigin: true // 是否跨域
    }
  },
}

此时请求的话以 /api/ 开头的请求会自动重写为 / 然后此时会代理到 http://localhost:3002 接口上。

### 如何在 Nuxt3 中设置和配置代理服务器 对于Nuxt3项目而言,在`nuxt.config.ts`文件内通过调整特定选项可以实现API请求的代理功能。当涉及到将某些路径下的请求转发至其他服务器时,这显得尤为有用。 针对希望对以`/api`开头的请求做代理处理的情况,可以在`nuxt.config.ts`内的`nitro`对象下定义`devProxy`属性来完成这一需求[^1]: ```typescript export default defineNuxtConfig({ nitro: { devProxy: { "/api": { target: "http://localhost:3001", changeOrigin: true, prependPath: true, }, }, }, }) ``` 上述代码片段展示了如何把所有匹配`/api`前缀的请求重定向到指定的目标URL(`http://localhost:3001`)上去,且启用了源更改以及路径前置的功能。 另外一种方式则是利用Axios模块来进行更灵活的HTTP请求管理与代理设定。首先需确保已安装好对应的依赖包[@nuxtjs/axios][^2],之后同样是在`nuxt.config.js/ts`中加入相应的配置项: ```javascript export default{ modules: [ '@nuxtjs/axios' ], axios:{ proxy:true }, proxy: { '/api/': { target: 'http://localhost:3002', pathRewrite: {'^/api/': '/'}, changeOrigin: true } } } ``` 这里不仅指定了新的目标地址还加入了路径重写的逻辑以便更好地控制实际访问路径。 值得注意的是,除了静态地编写这些配置外,还可以依据不同的运行环境动态加载适合当前场景下的参数组合。比如借助于`runtimeConfig`字段区分生产与开发环境下各自特有的行为模式[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZemanZhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值