需求:

一个项目部署了俩服务器,一个给别人看的,一个是自己开发用的,需要vue3项目中动态获取地址栏url自动匹配请求路径

js代码:

我们找到封装请求的文件夹,一般叫request.js
经过大哥提醒,不建议使用方法一,现在写了一个方法二

//方法一
// 更改请求
const arr = window.location.href.split('/#') //因为我用的是hash路由,不是的话需要自己切割一下哦
const baseURL1 = arr[0]
class Service {
  public service: AxiosInstance
  constructor(
    baseURL: string = baseURL1,
    timeout: number = 5000,
    headers: RawAxiosRequestHeaders | AxiosHeaders | Partial<HeadersDefaults>
  ) {
    // 创建 axios 实例
    // console.log('>>>', baseURL1, baseURL)
    this.service = axios.create({
      baseURL: baseURL1,
      timeout: timeout,
      headers: headers
    })
    //添加拦截器
    this.AddInterceptors()
  }
  .................
  //方法二
  /*
   *还是在request.js文件中,在最下边导出axios实例之前操作这个地址,
   *代码如下:
 */
 // 更改请求
const arr = window.location.href.split('/#')
const baseURL1 = import.meta.env.MODE == 'production' ? arr[0] : import.meta.env.VITE_APP_BASE_API
// 导出 axios 实例
export const BaseService = new Service(baseURL1, 600000, {
  'Content-Type': 'application/json;charset=utf-8'
}).service`
GitHub 加速计划 / vu / vue
108
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:3 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐