在工作中多多少少会遇到这种情况:项目打包之后,可以再次修改请求后端接口的基础地址。这就需要我们创建一个静态资源里的外部文件来实现了。
具体操作实现
- 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生产环境中的路径修改便可实现动态修改请求路径