对于axios配置多个请求地址,并且需要通过配置文件进行修改,可以通过以下步骤来实现:
- 安装axios库
首先,需要安装axios库,在命令行中输入以下命令:
npm install axios
- 创建config文件夹及相关配置文件
在项目根目录下创建config文件夹,并在其中创建不同环境的配置文件(如dev.js、prod.js)。以dev.js为例,假设请求地址为http://localhost:3000,在dev.js中写入以下代码:
module.exports = {
baseURL: 'http://localhost:3000',
timeout: 5000
}
- 创建axios实例
在src目录下创建api文件夹,并在其中创建index.js文件。在该文件中,通过create方法创建axios实例,并使用上一步中的config配置文件。代码示例:
import axios from 'axios'
import config from '../../config/dev'
const instance = axios.create({
baseURL: config.baseURL,
timeout: config.timeout
})
export default instance
- 在代码中使用axios实例
通过上一步中的index.js文件导出的instance,在其他文件中直接使用。代码示例:
import instance from './api'
instance.get('/api/user', {
params: {
id: 1
}
}).then(res => {
console.log(res.data)
}).catch(error => {
console.log(error)
})
这样做的好处是,在不同的开发环境或生产环境下,只需要修改相应的配置文件,而无需修改代码文件。同时,也方便了代码的部署和维护。
另外,如果需要配置多个请求地址,只需要在config文件夹下创建不同的配置文件,然后在index.js中通过不同的config配置,创建多个axios实例。代码示例:
import axios from 'axios'
import devConfig from '../../config/dev'
import prodConfig from '../../config/prod'
const devInstance = axios.create({
baseURL: devConfig.baseURL,
timeout: devConfig.timeout
})
const prodInstance = axios.create({
baseURL: prodConfig.baseURL,
timeout: prodConfig.timeout
})
export {
devInstance,
prodInstance
}
在其他文件中,则可以选择使用不同的axios实例,来请求不同的地址。代码示例:
import { devInstance, prodInstance } from './api'
// 假设process.env.NODE_ENV的值为'production'
const instance = process.env.NODE_ENV === 'production' ? prodInstance : devInstance
instance.get('/api/user', {
params: {
id: 1
}
}).then(res => {
console.log(res.data)
}).catch(error => {
console.log(error)
})
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于axios配置多个请求地址(打包后可通过配置文件修改) - Python技术站