Vite 允许开发者在项目中使用环境变量,这些变量可以是开发、测试或生产环境下的特定设置。在 Vite 中使用环境变量的步骤如下:
-
创建环境变量文件
在项目的根目录下,你可以创建
.env
文件来定义环境变量。如果需要区分环境,可以创建特定的文件,比如:.env
:所有情况下都会加载.env.local
:所有情况下都会加载,但会被 git 忽略.env.[mode]
:只在指定模式下加载.env.[mode].local
:只在指定模式下加载,且会被 git 忽略
其中
[mode]
可以是development
、production
或者其他自定义的模式名称。 -
定义环境变量
在
.env
文件中,你可以按如下方式定义环境变量:shell# .env 文件 VITE_APP_TITLE=My App VITE_API_URL=https://api.example.com
需要注意的是,Vite 要求所有环境变量必须以
VITE_
开头,这样做是为了防止意外暴露环境中的敏感变量。 -
在项目中使用环境变量
你可以在项目的 JavaScript 或 TypeScript 文件中使用
import.meta.env
来访问这些变量,例如:javascript// 访问环境变量 console.log(import.meta.env.VITE_APP_TITLE); // 输出: My App console.log(import.meta.env.VITE_API_URL); // 输出: https://api.example.com
这样你就可以根据不同的环境来更改变量,而不需要修改代码。
-
类型支持
为了在 TypeScript 中获得更好的类型支持,你可以定义一个
env.d.ts
文件,并声明ImportMetaEnv
接口以提供自动补全和类型检查:typescript// env.d.ts 文件 interface ImportMetaEnv { readonly VITE_APP_TITLE: string; readonly VITE_API_URL: string; // 更多环境变量... } interface ImportMeta { readonly env: ImportMetaEnv; }
-
在 HTML 中使用环境变量
也可以在
index.html
中使用环境变量,Vite 会在构建时替换这些变量:html<!-- index.html --> <title>%VITE_APP_TITLE%</title>
在构建时,
%VITE_APP_TITLE%
将被实际的环境变量值替换。
通过以上步骤,你就可以在 Vite 项目中使用环境变量来管理不同环境下的配置了。这种方式使得应用配置更加灵活,同时也保护了敏感数据。
2024年6月29日 12:07 回复