在使用Vite 5
时,出现使用import.meta.env
仅包含默认的一些环境变量,无法获取到在.env
文件定义的环境变量的问题。
查阅 官方文档 有以下说明:
Vite 默认是不加载 .env 文件的,因为这些文件需要在执行完 Vite 配置后才能确定加载哪一个,举个例子,root 和 envDir 选项会影响加载行为。不过当你的确需要时,你可以使用 Vite 导出的 loadEnv 函数来加载指定的 .env 文件。
因此,需要在vite.config.js
中手动定义所需的环境变量。例如获取.env
文件中的VITE_MY_APP_ENV
变量,可以在文件中写入:
import { defineConfig, loadEnv } from 'vite';
export default defineConfig(({ mode }) => {
const env = loadEnv(mode, process.cwd());
return {
define: {
// 添加下面这行
'MY_APP_ENV': JSON.stringify(env.VITE_MY_APP_ENV)
}
};
});
然后,就可以在其他文件中使用import获取到环境变量了。
console.log(import.meta.env.VITE_MY_APP_ENV)
发表回复