0


Vue3 —— 使用Vite配置环境变量

文章目录


一、为什么要配置环境变量?

在一个产品的前端开发过程中,一般来说会经历本地开发、测试脚本、开发自测、测试环境、预上线环境,然后才能正式的发布。对应每一个环境可能都会有所差异,比如说用户访问资源权限、服务器地址、接口地址等。在各个环境切换的时候,就需要不同的配置参数,所以就可以用环境变量和模式,来方便我们管理。

二、在Vite中配置环境变量

1.环境变量和模式

因为项目使用VIte创建的,所以在配置环境变量之前我们需要查看在Vite中的环境变量和模式,官网地址

2.环境变量

Vite 在一个特殊的 **

import.meta.env

** 对象上暴露环境变量。这里有一些在所有情况下都可以使用的内建变量:

  • import.meta.env.MODE: {string} 应用运行的模式。
  • import.meta.env.BASE_URL: {string} 部署应用时的基本 URL。他由base 配置项决定。
  • import.meta.env.PROD: {boolean} 应用是否运行在生产环境。
  • import.meta.env.DEV: {boolean} 应用是否运行在开发环境 (永远与 import.meta.env.PROD相反)。
  • import.meta.env.SSR: {boolean} 应用是否运行在 server 上。

3.生产环境替换

在生产环境中,这些环境变量会在构建时被静态替换,因此,在引用它们时请使用完全静态的字符串。动态的 key 将无法生效。例如,动态 key 取值

import.meta.env[key]

是无效的。

4.

env

文件

在根目录下新建这两个文件

.env.dev 文件

NODE_ENV = dev
VITE_NAME="LJY"

.env.pro 文件

NODE_ENV = pro
VITE_NAME="LJY"

Vite 使用 dotenv 从你的 环境目录 中的下列文件加载额外的环境变量:

环境加载优先级

一份用于指定模式的文件(例如

.env.production

)会比通用形式的优先级更高(例如

.env

)。

另外,Vite 执行时已经存在的环境变量有最高的优先级,不会被

.env

类文件覆盖。例如当运行

VITE_SOME_KEY=123 vite build

的时候。

.env

类文件会在 Vite 启动一开始时被加载,而改动会在重启服务器后生效。

加载的环境变量也会通过

import.meta.env

以字符串形式暴露给客户端源码。

为了防止意外地将一些环境变量泄漏到客户端,只有以

VITE_

为前缀的变量才会暴露给经过 vite 处理的代码。例如下面这些环境变量:

VITE_SOME_KEY=123
DB_PASSWORD=foobar

只有

VITE_SOME_KEY

会被暴露为

import.meta.env.VITE_SOME_KEY

提供给客户端源码,而

DB_PASSWORD

则不会。

console.log(import.meta.env.VITE_SOME_KEY) // 123
console.log(import.meta.env.DB_PASSWORD) // undefined

如果你想自定义 env 变量的前缀,请参阅 envPrefix。

安全注意事项

如果你想要自定义 env 变量的前缀,请参阅 envPrefix 选项。

  • .env.*.local 文件应是本地的,可以包含敏感变量。你应该将 .local 添加到你的 .gitignore 中,以避免它们被 git 检入。
  • 由于任何暴露给 Vite 源码的变量最终都将出现在客户端包中,VITE_* 变量应该不包含任何敏感信息。

本文转载自: https://blog.csdn.net/Bonsoir777/article/details/128345557
版权归原作者 Bonsoir777 所有, 如有侵权,请联系我们删除。

“Vue3 —— 使用Vite配置环境变量”的评论:

还没有评论