环境隔离env
在开发中,我项目会分为几个阶段:
- 生成阶段
- 测试阶段
- 开发阶段
每个阶段都会有不同的环境。那么不同环境旧有不同配置和服务信息比如:
- 数据库信息
- 中间件服务信息
- 接口服务信息
所以如果做到无缝的切换的服务,便于开发就变得非常重要了。不论在前端还是在后端都有这种机制来完成响应操作。大部分理念相同。就环境隔离,大部分都是通过配置来完成
- 服务端—nacos(统一配置中心)
- 客户端:.env环境配置
具体实现步骤:
1:打开cn.vitejs.dev/guide/env-a…
2:在项目的跟目录下新建一个
.env # 所有情况下都会加载
.env.[mode] # 只在指定模式下加载
3:在根目录下 新建如下三个环境隔离文件
-
.env
VITE_APP_TITLE=KVA后台管理系统-学相伴111 -
.env.devepoment
ENV = 'development' # 前端服务的端口 VITE_CLI_PORT = 8777 # 服务接口的前缀 VITE_BASE_API = /api # 服务的基础路径 VITE_BASE_PATH = http://127.0.0.1:8989 -
.env.production
ENV = 'production' # 前端vite项目的端口 VITE_CLI_PORT = 8777 # 服务前缀 VITE_BASE_API = /api #下方修改为你的线上ip VITE_BASE_PATH = https://xxx.com
==定义的时候:注意一下细节:必须以VITE_开头才可以被后续的import.meta.env获取到==。
4: 配置以后如何使用————–js/vue页面使用
在你需要的js模块中或者vue页面中如果你要读取配置信息就直接使用:读取的方式:import.meta.env.配置文件中的key的名字
console.log("import.meta.env.VITE_BASE_PATH",import.meta.env.VITE_BASE_PATH)
console.log("import.meta.env.VITE_CLI_PORT",import.meta.env.VITE_CLI_PORT)
console.log("import.meta.env.VITE_BASE_API",import.meta.env.VITE_BASE_API)
比如:request.js
export default {
method: 'get',
// 基础url前缀
baseURL: import.meta.env.VITE_BASE_PATH,
// 请求头信息
headers: {
'Content-Type': 'application/json;charset=UTF-8'
},
// 设置超时时间
timeout: 30000,
// 返回数据类型
responseType: 'json'
}
5: html引入环境配置信息
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>%VITE_APP_TITLE%-%VITE_APP_STITLE%</title>
<link rel="stylesheet" href="/css/loading.css">
</head>
<body>
<div id="app">
<div class="preload__wrap" id="Loading">
<div class="preload__container">
<p class="preload__name">欢迎使用</p>
<div class="preload__loading"></div>
<p class="preload__title">正在加载资源...</p>
<p class="preload__sub-title">初次加载资源可能需要较多时间 请耐心等待</p>
</div>
<div class="preload__footer">
<a href="#" target="_blank">KVA后台管理系统-学相伴</a>
</div>
</div>
<script type="module" src="/src/main.js"></script>
</body>
</html>
6: 指定模式启动
默认情况下,开发服务器 (dev 命令) 运行在 development (开发) 模式,而 build 命令则运行在 production (生产) 模式。
也就是说:
npm run dev其实就是等价于:vite --mode development
npm run build 其实就是等价于:vite --mode production
7: 注意事项
==修改了配置文件一定要重启才会生效==