这似乎是一个简单的问题,但我就是想不出来。当运行“NPM run dev”时,我希望将Axios baseURL设置为“localhost/api”,当在“NPM run generate”后从dist文件夹运行时,我希望将baseURL设置为“/api”。有简单的解决方法吗?
cwtwac6a1#
这是通过nuxt.config.js实现的方法:
nuxt.config.js
let development = process.env.NODE_ENV !== 'production' module.exports = { axios: { baseURL: development ? 'http://localhost:3001/api' : 'https://domain/api' }, modules: [ '@nuxtjs/axios' ], }
如您所见,您应该指定后端完整URL,包括域(仅限SPA模式除外)。不要忘记安装@nuxtjs/axios作为依赖项来尝试这个示例。
2vuwiymt2#
你也可以通过env变量从外部设置api(例如package.json脚本)我的package.json片段(当浏览器使用不同的API URL时,服务器端呈现会变得更加复杂,但Nuxt本身仍支持所有这些API URL和API URL)
"scripts": { "dev-prodapi": "API_URL=https://kairly.com/api nuxt", "dev": "API_URL=http://localhost:8000/api nuxt", "dev-spa-prodapi": "API_URL=https://kairly.com/api nuxt --spa", "dev-spa": "API_URL=http://localhost:8000/api nuxt --spa", "build": "API_URL_BROWSER=https://kairly.com/api API_URL=https://internal-apihost/api/ nuxt build --modern=server", "start": "API_URL_BROWSER=https://kairly.com/api API_URL=https://internal-apihost/api/ nuxt start --modern=server",
并且在nuxtconfig中根本不使用axios部分。
r6hnlfcb3#
在Nuxt 3中,我们可以使用.env文件。这是文档。第一个
.env
3条答案
按热度按时间cwtwac6a1#
这是通过
nuxt.config.js
实现的方法:如您所见,您应该指定后端完整URL,包括域(仅限SPA模式除外)。
不要忘记安装@nuxtjs/axios作为依赖项来尝试这个示例。
2vuwiymt2#
你也可以通过env变量从外部设置api(例如package.json脚本)
我的package.json片段(当浏览器使用不同的API URL时,服务器端呈现会变得更加复杂,但Nuxt本身仍支持所有这些API URL和API URL)
并且在nuxtconfig中根本不使用axios部分。
r6hnlfcb3#
在Nuxt 3中,我们可以使用
.env
文件。这是文档。第一个