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

具体操作实现

  • 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" />
  <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生产环境中的路径修改便可实现动态修改请求路径
GitHub 加速计划 / vu / vue
207.52 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支: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> 3 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 3 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐