在 Google Firebase 托管上将 Nuxt 与 Axios 结合使用
Using Nuxt with Axios on Google Firebase hosting
一切正常,除了部署到 Firebase 托管时,axiosbaseURL
and/orproxy
默认为本地。他们似乎忽略了 nuxt.config.js
中设置的值,因此导致 404
。
如果我对 URL 的所有 API 调用进行硬编码,但我想避免这种情况。
为了让我的 Nuxt SSR API 调用在生产(firebase 托管)中使用我自己定义的 baseURL
和 proxy
工作,就像在开发中一样,我应该更改什么?
nuxt.config.js
axios: {
proxy: true,
baseURL: 'http://staging.unicorns.com',
browserBaseURL: '/api'
},
proxy: {
'/api': 'http://staging.unicorns.com'
},
例如
API 开发中调用:
GET
http://staging.unicorns.com/api/users
200
API 在生产中调用(错误 url):
GET
http://unicorns-staging.firebaseapp.com/api/users
404
您可能需要检查您的 .bash_profile 或 .profile,确保您没有在那里设置 base_url。此外,根据您的配置,您可能需要在生产环境中重建项目。例如 npm build
原来是proxy
。关闭它解决了问题。
由于 Firebase 不支持最新的节点/nuxt (edge),已经转移到 Heroku
您可以在您的云函数中添加 http-proxy-middleware 并实现此
图书馆url
一切正常,除了部署到 Firebase 托管时,axiosbaseURL
and/orproxy
默认为本地。他们似乎忽略了 nuxt.config.js
中设置的值,因此导致 404
。
如果我对 URL 的所有 API 调用进行硬编码,但我想避免这种情况。
为了让我的 Nuxt SSR API 调用在生产(firebase 托管)中使用我自己定义的 baseURL
和 proxy
工作,就像在开发中一样,我应该更改什么?
nuxt.config.js
axios: {
proxy: true,
baseURL: 'http://staging.unicorns.com',
browserBaseURL: '/api'
},
proxy: {
'/api': 'http://staging.unicorns.com'
},
例如
API 开发中调用:
GET
http://staging.unicorns.com/api/users
200
API 在生产中调用(错误 url):
GET
http://unicorns-staging.firebaseapp.com/api/users
404
您可能需要检查您的 .bash_profile 或 .profile,确保您没有在那里设置 base_url。此外,根据您的配置,您可能需要在生产环境中重建项目。例如 npm build
原来是proxy
。关闭它解决了问题。
由于 Firebase 不支持最新的节点/nuxt (edge),已经转移到 Heroku
您可以在您的云函数中添加 http-proxy-middleware 并实现此
图书馆url