vite+vue3 环境变量的配置

368 阅读2分钟

配置环境变量的目的就是根据代码运行的不同环境(生产和开发)配置不同的变量。

原理

loadEnv(mode, process.cwd(), '')

  1. mode和下图的mode相对应,--mode development表示找.env.development文件的环境变量,--mode-test表示找.env.test文件的环境变量。执行不同的命令会找不同的环境变量文件。 image.png

  2. process.cwd()表示node进程的当前工作目录,默认是我们启项目的目录就是根目录。也就是说设置环境变量的文件需要放在根目录下,如果要放在别的目录下,可以在loadEnv第二个入参配置,默认就是根目录。

步骤

1.步骤

首先在代码的根目录下新建.env.development和.env.production文件(和src同级)

image.png 2. 在对应的环境文件中配置环境参数,需要加上VITE_前缀才能在后续读取。如果不加VITE_在src中通过import.meta.env.__是拿不到的。 3. 在package.json文件的启动命令上加上--mode [mode]vite指令默认测试环境,vite build默认构建生产环境

image.png 4. 如果要在项目中获取在.env中配置的环境参数使用import.meta[参数名]

image.png 5. vite默认不加载.env文件,会在执行完vite配置后才确定加载哪个,如果需要在vite.config.js中读取参数值,需要以下操作,通过const env = loadEnv(mode, process.cwd(), '')获取.env信息

image.png 6.vite.config.ts中base配置项是开发或生产环境服务的公共基础路径,配置之后在项目中可以通过import.meta.env.BASE_URL来访问,如果设置了环境变量也可以通过环境变量来访问。
7.在vite中怎么区分生产和开发环境(会执行不同的编译命令)

image.png

webpack中的环境变量

process.env.NODE_ENV可以用来区分当前代码运行在哪个环境,process.env.NODE_ENV === 'development'表示开发环境,process.env.NODE_ENV === 'production'表示生产环境。 process.env是Nodejs提供的一个API,其返回一个对象,包含了当前Shell的所有环境变量
参考: juejin.cn/post/717201…

vue3项目的index.html页面如何获取环境变量

index.html页面中的title可能会用到环境变量。

步骤

下载vite-plugin-html插件;在vite.config.ts中引入并配置相关变量;配置后index页面就可以用了
借鉴: juejin.cn/post/722328…