首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vue如何在使用nuxt代理和nuxt公理时修复404错误

Vue如何在使用nuxt代理和nuxt公理时修复404错误
EN

Stack Overflow用户
提问于 2021-12-15 10:44:50
回答 1查看 591关注 0票数 1

在我的vue-app中,我与@nuxtjs/axios一起使用@nuxtjs/proxy,但是由于某些原因我不知道,在调用api时总是会得到一个Request failed with status code 404 -error。

这是我的nuxt.config.js

代码语言:javascript
复制
modules: [
 '@nuxtjs/axios',
 '@nuxtjs/proxy'
],

axios: {
  proxy: true,
},

proxy: {
  "/api": {
    target: "https://url-to-api.com/api",
    pathRewrite: { "^/api/": "" },
  } 
},

然后在我的vue-component里

代码语言:javascript
复制
created(){
  const { data } = await this.$axios.get(
    `/api/products/all`
  )
  ...
}

当我检查“网络”选项卡时,请求如下:

代码语言:javascript
复制
https://mypage.com/api/products/all

该请求返回如上文所述的Request failed with status code 404

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2022-04-26 03:24:27

nuxt版本: 2.15.8

试试这个:

代码语言:javascript
复制
// nuxt.config.js

axios: {
  baseURL: '/',
  browserBaseURL: '/',
  proxy: true,
},

proxy: {
  '/api/': {
    target: process.env.BASE_URL,
    pathRewrite: {'^/api/': ''},
  },
},

publicRuntimeConfig: {
  axios: {
    browserBaseURL: process.env.BROWSER_BASE_URL,
  },
},

privateRuntimeConfig: {
  axios: {
    baseURL: process.env.BASE_URL,
  },
},

在你的部分:

代码语言:javascript
复制
created(){
  const { data } = await this.$axios.get(
    `products/all`
  );
}

.env

代码语言:javascript
复制
BROWSER_BASE_URL=/api/
BASE_URL=https://url-to-api.com/api/

对我来说很管用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70362306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档