vite配置.env环境变量文件,开发环境,测试环境,预发布环境,生产环境

在vue2,用的vue-cli脚手架搭建项目,cli用的是webpack

当你yarn dev时,命令会启动package.json中的dev键名的值,也就是后面的一行命令

这时浏览器会去识别你是开发环境还是生产环境,其实windows是不能直接识别你是开发环境还是生产环境的,是webpack帮助我们识别了开发环境和生产环境。在vue2中我们可以直接用process.env就能拿到环境变量。这是webpack的功劳。

在vue3中,用的是vite,不是webpack,当你yarn dev时启动开发环境,window是无法识别你是开发环境还是生产环境的,这时vite用内部的dotenv这个第3方库,来帮助识别是开发环境还是生产环境,当你yarn dev市,dotenv会判断你启动的是开发环境还是生产环境,如果是开发环境,就去项目的根目录中找.env.development环境变量文件,将这个文件中创建的变量也就是所有以VITE_开头的环境变量添加到import.meta.env中

import.meta.env是window浏览器提供的。

import.meta.env中不仅有你自己创建的VITE_开头的环境变量,还有一开始就系统就创建好的环境变量。

注意:

NODE_MODE是node.js提供的系统变量

webpack4之前,都是在package.json的scripts中手动指定环境变量

webpack4之后,都是在webpack.config.js中新增加了mode选项,通过这个mode选项来指定环境变量

总结:

vite通过dotenv识别开发环境和生产环境,在识别环境后,在根文件中找到对应的.env环境变量文件,将文件中的以VITE_开头的变量全部添加到import.meta.env对象中。

相关推荐
kyriewen24 分钟前
你写的代码没有测试,就像出门不锁门——Jest + Testing Library 从入门到不慌
前端·单元测试·jest
辞旧 lekkk27 分钟前
【Qt】信号和槽
linux·开发语言·数据库·qt·学习·mysql·萌新
2zcode1 小时前
运动模糊图像复原的MATLAB仿真与优化
开发语言·matlab
袁雅倩19971 小时前
当吸尘器、筋膜枪都用上Type-C,供电方案该怎么选?浅谈PD取电芯片ECP5702的应用
c语言·开发语言·支持向量机·动态规划·推荐算法·最小二乘法·图搜索算法
yuzhiboyouye1 小时前
web前端英语面试
前端·面试·状态模式
Aaswk2 小时前
Java Lambda 表达式与流处理
java·开发语言·python
canonical_entropy2 小时前
下一代低代码渲染框架 nop-chaos-flux 的设计原则
前端·低代码·前端框架
万邦科技Lafite2 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
东方小月2 小时前
5分钟搞懂Harness Engineering(驾驭工程):从提示词到AI Agent的进化之路
前端·后端·架构
我叫黑大帅3 小时前
为什么需要 @types/react?解决“无法找到模块 react 的声明文件”报错
前端·javascript·面试