vue3动态修改打包后的请求路径的操作代码

 更新时间:2022年09月16日 15:08:16   作者:bigHead-  
这篇文章主要介绍了vue3动态修改打包后的请求路径,需要我们创建一个静态资源里的外部文件来实现,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下

在工作中多多少少会遇到这种情况:项目打包之后,可以再次修改请求后端接口的基础地址。这就需要我们创建一个静态资源里的外部文件来实现了。

具体操作实现

public 文件夹就是存放那些不需要打包的文件,可以直接访问(静态资源),在puclic目录下新增config.js文件

window.g = {
    // 开发环境
    development: {
        BASEURL: 'http://127.0.0.1:4000',
        VERSION: '0.0.1',
        MODE: 'development',
        NODE_ENV: 'development'
    },
    //生产环境
    production: {
        BASEURL: 'http://127.0.0.1:8002',
        VERSION: '0.0.1',
        MODE: 'production',
        NODE_ENV: 'production'
    }
}

在index.html引入该文件

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <link rel="icon" href="/src/assets/image/title.ico" rel="external nofollow"  />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>xxx</title>
</head>

<body>
  <div id="app"></div>
  <script type="module" src="/src/main.ts"></script>
  <script src="/config.js"></script>
</body>

</html>

在封装的请求文件中对请求路径进行环境判断

import http from "../utils/http";

const baseUrl = () => {
    return process.env.NODE_ENV === "development"
        ? (window as any).g.development.BASEURL + "/api"
        : (window as any).g.production.BASEURL;
};

/**
 * @description:  预案
 * */

// 预案列表
export const getPlanList = () => {
    return http.get(`${baseUrl()}/api/plan/list`);
};

打包项目后的dist目录

在这里插入图片描述

我们只需对config.js 中production生产环境中的路径修改便可实现动态修改请求路径

补充:vue打包之后动态修改请求接口方法

1.可以根据自身情况封装获取配置文件接口信息

1.1我在static中新建一个config.json配置文件

{
    "DEV_URL":"/apis",//开发模式
    "BUILD_URL": "/apis"//打包之后接口
}

2.我在每次请求之前都会获取配置文件,你也可以只获取一次做下判断即可  

//获取配置文件
async function startApp() {
    let API_URL
    if(process.env.NODE_ENV=='development'){
        let data=await Vue.http.get('/static/config.json')
        API_URL=JSON.parse(data.bodyText).DEV_URL
    }else{
        let data=await Vue.http.get('./static/config.json')
        API_URL=JSON.parse(data.bodyText).BUILD_URL
    }
    return API_URL
}

3.我封装的请求接口

async function doGet(url, req, successCallback, errorCallback) {
    let service_url=await startApp() 
    req=filterUndefined(req)
    // 每次切换页面时,调用进度条
    NProgress.start();
    Vue.http.get(service_url + url,{params:req}, {
        emulateJSON: true, //允许跨越
    }).then(function(response) {
        // 在即将进入新的页面组件前,关闭掉进度条
        NProgress.done()
        // 响应成功回调
        successCallback && successCallback(response.data);
    }, function(error) {
        // 在即将进入新的页面组件前,关闭掉进度条
        NProgress.done()
        // 响应错误回调
        errorCallback && errorCallback(error)
    });
}

到此这篇关于vue3动态修改打包后的请求路径的文章就介绍到这了,更多相关vue3打包后请求路径内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue在页面右上角实现可悬浮/隐藏的系统菜单

    Vue在页面右上角实现可悬浮/隐藏的系统菜单

    这篇文章主要介绍了Vue在页面右上角实现可悬浮/隐藏的系统菜单,实现思路大概是通过props将showCancel这个Boolean值传递到子组件,对父子组件分别绑定事件,来控制这个系统菜单的显示状态。需要的朋友可以参考下
    2018-05-05
  • 详解vue-router和vue-cli以及组件之间的传值

    详解vue-router和vue-cli以及组件之间的传值

    这篇文章主要介绍了详解vue-router和vue-cli以及组件之间的传值,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • vue使用Highcharts实现3D饼图

    vue使用Highcharts实现3D饼图

    这篇文章主要为大家详细介绍了vue使用Highcharts实现3D饼图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • vue3.x源码剖析之数据响应式的深入讲解

    vue3.x源码剖析之数据响应式的深入讲解

    这篇文章主要给大家介绍了关于vue3.x源码剖析之数据响应式的相关资料,在讲解过程中,我们会对比Vue2.x的API特性,使用有哪些区别,需要的朋友可以参考下
    2022-01-01
  • 详解vue父子模版嵌套案例

    详解vue父子模版嵌套案例

    本篇文章主要介绍了详解vue父子模版嵌套案例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析

    使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析

    这篇文章主要介绍了用vue官方提供的模板vue-cli搭建一个helloWorld案例,需要的朋友可以参考下
    2018-01-01
  • vue parseHTML函数解析器遇到结束标签

    vue parseHTML函数解析器遇到结束标签

    这篇文章主要介绍了vue parseHTML函数源码解析之析器遇到结束标签的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • vue综合组件间的通信详解

    vue综合组件间的通信详解

    这篇文章主要为大家详细介绍了vue综合组件间的通信,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 详解vue 数据传递的方法

    详解vue 数据传递的方法

    这篇文章给大家介绍了vue数据传递的方法,包括,父组件向子组件传值 ,子组件向父组件传值 ,路由传值等多种方法,需要的朋友参考下
    2018-04-04
  • Vue3使用video-player实现视频播放

    Vue3使用video-player实现视频播放

    video-player是一个基于video.js的视频播放器组件,本文主要介绍了Vue3使用video-player实现视频播放,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01

最新评论