uni-app vite-ts模板使用‘dev:h5’命令启动后,在代码中获取.env.development文件预设的变量失败

uni-app vite-ts模板使用‘dev:h5’命令启动后,在代码中获取.env.development文件预设的变量失败

3 回复

vite-ts 模板基于 vite+vue3 构建,其通过 .env 文件配置环境变量和vue2 略有不同,官方文档。 例如: // .env.development 中设置
VITE_APP_BASE_API = ‘test-base-api’
// pages/index/index.vue 获取
console.log(import.meta.env.VITE_APP_BASE_API)


感谢,成功解决

在使用 uni-appvite-ts 模板时,如果你在 .env.development 文件中预设了环境变量,但在代码中无法获取到这些变量,可能是因为以下原因:

1. 确保 .env.development 文件路径正确

确保 .env.development 文件位于项目的根目录下。

2. 环境变量命名规范

Vite 要求环境变量名必须以 VITE_ 开头。例如,如果你在 .env.development 中定义了一个变量,它应该像这样:

VITE_API_URL=https://api.example.com

3. 在代码中访问环境变量

在代码中,你可以通过 import.meta.env 来访问这些环境变量。例如:

const apiUrl = import.meta.env.VITE_API_URL;
console.log(apiUrl); // 应该输出 https://api.example.com

4. 确保环境变量被正确加载

确保你在启动项目时使用了正确的命令。例如,dev:h5 命令应该会加载 .env.development 文件中的变量。

5. 检查 Vite 配置文件

如果你有自定义的 Vite 配置文件(如 vite.config.ts),确保没有覆盖或错误配置环境变量的加载方式。

6. 重启开发服务器

有时候,修改 .env.development 文件后,需要重启开发服务器才能使更改生效。

7. 检查环境变量的使用范围

如果你在某些特定的环境下(如 uni-appvue 组件中)无法访问到环境变量,可能是因为 uni-app 的编译环境与 Vite 的环境变量加载方式不完全一致。你可以尝试在 vite.config.ts 中手动注入环境变量。

示例代码

假设你的 .env.development 文件内容如下:

VITE_API_URL=https://api.example.com

在代码中访问:

const apiUrl = import.meta.env.VITE_API_URL;
console.log(apiUrl); // 应该输出 https://api.example.com

8. 使用 dotenv 手动加载(可选)

如果你仍然遇到问题,可以尝试使用 dotenv 手动加载环境变量:

npm install dotenv --save

然后在项目的入口文件(如 main.ts)中手动加载:

import dotenv from 'dotenv';

dotenv.config({ path: '.env.development' });

console.log(process.env.VITE_API_URL); // 应该输出 https://api.example.com
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!