现在我有一个问题,如何在构建后手动更改axios baseUrl。就算指定的请求网址已更改,我也可以手动更改baseUrl,而不是重建项目
答案 0 :(得分:0)
您必须使用axios
函数创建一个新的axios.create()
实例。然后,您可以使用该实例在新的baseUrl上进行调用。
const myNewInstance = axios.create({
baseURL: 'https://my-domain.com/api/',
timeout: 3000,
headers: {'X-Custom-Header': 'foobar'}
});
您还可以将其原型制作到Vue
内的plugin
对象中,然后可以从所有组件和页面访问它。
答案 1 :(得分:0)
您可以使用名为baseUrl
的环境变量覆盖API_URL
。只需将其设置为所需的任何URL。请在此处参考官方文档:https://axios.nuxtjs.org/options.html#baseurl
此外,如果您还想覆盖browserBaseUrl
,则可以使用API_URL_BROWSER
环境变量以相同的方式进行覆盖。
提示:可以在命令前添加环境变量。因此,从技术上讲,这应该可行:
API_URL="https://example.com" nuxt start
答案 2 :(得分:0)
使用交叉环境:npm install cross-env
在您的项目中添加一个名为environment
的文件夹
并且在该文件夹下,您可以有不同的environment
(例如,开发,登台,生产)
您的环境配置将具有您的baseUrl
和其他配置,例如,对于开发,您可以具有本地主机,然后对于暂存或生产,您可以具有API_URL
defaults.prod.json \\production
在nuxt.config.ts
构建>扩展中配置您的不同环境
这将替换defaults.json
,具体取决于我们将在package.json
中运行脚本的环境。
在package.json
中,将脚本配置为将在哪种环境下运行(例如npm run start
将使用NODE_ENV=development
,而defaults.json
将与baseUrl: http://localhost:3000
和{{ 1}}将npm run build
与defaults.prod.json
和其他配置一起使用
有关更多详细信息,您可以查看cross-env