首先要知道的是这两个是vue 开发工具中的概念,比如vue-cli 或者vite。用到他们时才会涉及到模式和环境变量
环境变量:这个和操作系统中的环境变量差不多,简单理解就是全局参数,可以自定义,定义好了在任何地方都能使用。环境变量可以使用多个文件进行配置,这些配置文件一般都是key相同,value不同。这些配置文件应用于不同的环境下,比如本地开发环境、测试环境、生产环境等。
模式:模式就是我们选择要使用哪个配置文件。通过在启动命令或打包命令中添加 mode参数来指定要使用的模式
vite --mode dev
同时要做的是添加一个以 .env.dev 命名的文件
上边这些还是比较容易理解的,我原来经常混淆的概念是每个配置文件中都有一个NODE_ENV=?
原来我总以为这个跟模式或者环境变量具有某种关系,其实他们是没有关系的,这只是环境变量中的一个选项,甚至在配置文件中没有它都可以。我们经常看见它是因为开发中我们习惯性的使用这个参数来区分生产环境和开发环境,只是一个惯例。对于我这个后端程序员来说前端的开发都是基于别人的框架,项目打包配置早就写好了,所以自己很少用到这个选项。
总结下来就是一句话:模式决定了程序运行要加载哪个配置文件,不同的配置文件中包含不同的环境变量