Vue3中读取环境变量的方法

发布时间:2023-10-05浏览次数:1161 次
习惯性的在Vue3的项目中使用process.env去获取环境变量,却发现报错,原来在Vue3中,官方已使用import.meta.env的方式代替了原来Vue

习惯性的在Vue3的项目中使用process.env去获取环境变量,却发现报错:ReferenceError: process is not defined

查了资料才知道,在Vue3中,官方已使用import.meta.env的方式代替了原来Vue2中使用process.env获取环境变量的方式,原来process.env的方式已移除,具体文档见:https://cn.vitejs.dev/guide/env-and-mode.html#env-variables

除此之外,其余的使用方法与Vue2基本一致。如:默认情况下,开发服务器 (dev 命令) 运行在 development (开发) 模式,而 build 命令则运行在 production (生产) 模式。

需注意的是:

1、在VUE2中,变量名需要以:VUE_APP_开头,在Vite下,则需要以VITE_开头,也可以自定义,自定义的方式为,在vite.config.js文件中添加配置项:

envPrefix:'APP_'

即可以APP_开头定义环境变量,如:APP_API_URL = ‘http://xxx’

2、如在开发模式(development )下,且不存在.env.development文件的话,则会默认读取.env文件中的配置。特此记录一下,以防后续踩坑。

另外,如果坚持一定要使用process.env,其实也是有办法的,在vite.config.js文件中,添加如下配置即可:

define:{
    'process.env':process.env
}
扫一扫,在手机上查看