我的项目需要向多个不同域名的后台服务api发起请求,我的axios该怎样配置baseurl
时间: 2024-09-21 07:13:41 浏览: 31
react axios 跨域访问一个或多个域名问题
如果你的项目需要向多个不同域名的后台服务API发起请求,你需要在axios实例化时对`baseURL`进行动态配置。以下是一个基本的例子:
```javascript
import axios from 'axios';
// 创建一个axios实例,并在创建时配置baseURL
const instance = axios.create({
baseURL: process.env.NODE_ENV === 'production'
? 'https://api.production.com' // 生产环境的API URL
: 'https://api.development.com', // 开发环境的API URL 或者本地服务器URL
timeout: 10000, // 设置超时时间
headers: {
'Content-Type': 'application/json',
},
});
// 然后在整个项目中使用这个instance发送请求
export default instance;
// 调用示例
instance.get('/users')
.then(response => console.log(response.data))
.catch(error => console.error(error));
```
这里我们使用了`process.env.NODE_ENV`来判断当前运行环境并设置相应的baseURL。这样,当环境变量变化时,axios会自动使用对应的API地址。
阅读全文