DevsDawn
DevsDawn

解决Vite无法获取env环境变量的问题

在使用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)
若无特别说明,本文采用 CC BY-SA 4.0 协议进行许可。如需转载,请附上本文链接和本声明。
本文链接:https://devsdawn.com/2024/09/fixing-get-vite-env-variable-issue/
DigitalOcean云服务,美国上市公司,注册即送200USD体验金
Vultr云服务,全球25+地域,注册即送100USD体验金

发表回复

textsms
account_circle
email

DevsDawn

解决Vite无法获取env环境变量的问题
在使用Vite 5时,出现使用import.meta.env仅包含默认的一些环境变量,无法获取到在.env文件定义的环境变量的问题。 查阅 官方文档 有以下说明: Vite 默认是不加载 .env 文件的,因…
扫描二维码继续阅读
2024-09-14