vue项目统一管理后端URL

如果有多个后端服务,并且它们的URL不同,可以通过创建一个配置文件来统一管理这些URL。以下是一个简单的示例:

配置URL管理

创建一个名为 config.js 或 apiConfig.js的文件,作为配置文件

// config.js

const apiUrl1 = 'http://localhost';
const apiUrl2 = 'http://terminal.com';

export { apiUrl1, apiUrl2 };

使用URL

在代码中导入配置文件,并根据需要使用其中的URL。可以根据自己的情况选择在Vue实例、Axios插件或组件中使用它。

在Vue实例中使用

在main.js文件配置。 

import { createApp } from 'vue'
import App from './App.vue'
import { apiUrl1 } from './config/apiConfig'

const app = createApp(App)
app.config.globalProperties.$apiUrl1 = apiUrl1;
app.mount('#app')

在 Vue 组件中,你可以通过 this.$apiUrl1 来访问 apiUrl1 变量。例如:

export default {
  created() {
    console.log(this.$apiUrl1); // 在控制台打印出 apiUrl1 的值
  },
  // ...其他组件代码
};

在Axios插件中使用

在AxiosPlugin.js文件配置

import axios from 'axios';
import { apiUrl1 } from './apiConfig'

export default {
  install(app) {
    axios.defaults.baseURL = apiUrl1;
    app.config.globalProperties.$axios = axios;
  },
};

在main.js文件配置。 

import { createApp } from 'vue'
import App from './App.vue'
import AxiosPlugin from './config/AxiosPlugin'


const app = createApp(App)
// 注册 Axios 插件
app.use(AxiosPlugin);
app.mount('#app')

你可以在任何组件或 Vue 实例中通过 this.$axios 来访问 Axios 实例,并发送 HTTP 请求了。

export default {
  mounted() {
    this.$axios.get('/endpoint')
      .then(response => {
        console.log(response.data);
      })
      .catch(error => {
        console.error(error);
      });
  },
};

在组件中使用:

import { apiUrl1 } from './config/apiConfig';

export default {
  methods: {
    fetchData() {
      this.$axios.get(`${apiUrl1}/your-api-endpoint`)
        .then(response => {
          // 处理响应
        })
        .catch(error => {
          // 处理错误
        });
    },
  },
};
  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值