Flutter如何使用flutter_dotenv加载环境变量

我在Flutter项目中尝试使用flutter_dotenv加载环境变量,但总是失败。我的步骤是:1) 在pubspec.yaml中添加了依赖,2) 创建了.env文件并添加了变量,3) 在main.dart中调用了DotEnv().load()。运行时却提示找不到环境变量。请问正确的配置流程是什么?是否需要额外的设置?我的.env文件应该放在项目哪个目录下?

2 回复

在Flutter中使用flutter_dotenv加载环境变量:

  1. 添加依赖到pubspec.yaml
dependencies:
  flutter_dotenv: ^5.0.2
  1. 创建.env文件并添加变量:
API_URL=https://api.example.com
  1. pubspec.yaml中声明资源:
assets:
  - .env
  1. 在main.dart中初始化:
import 'package:flutter_dotenv/flutter_dotenv.dart';

void main() async {
  await dotenv.load();
  runApp(MyApp());
}
  1. 使用环境变量:
String apiUrl = dotenv.env['API_URL']!;

注意:不要将.env文件提交到版本控制。

更多关于Flutter如何使用flutter_dotenv加载环境变量的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


在Flutter中使用flutter_dotenv加载环境变量的步骤如下:

1. 添加依赖

pubspec.yaml 中添加:

dependencies:
  flutter_dotenv: ^5.1.0

运行 flutter pub get

2. 创建环境变量文件

在项目根目录创建 .env 文件(建议添加到 .gitignore):

API_URL=https://api.example.com
API_KEY=your_api_key_here

3. 配置 pubspec.yaml

pubspec.yaml 中声明资源文件:

flutter:
  assets:
    - .env

4. 加载配置

main.dartmain() 函数中初始化:

import 'package:flutter_dotenv/flutter_dotenv.dart';

void main() async {
  await dotenv.load(fileName: ".env");
  runApp(MyApp());
}

5. 使用环境变量

String apiUrl = dotenv.get('API_URL');
String apiKey = dotenv.get('API_KEY');

// 或者带默认值
String apiUrl = dotenv.maybeGet('API_URL') ?? '默认值';

6. 不同环境配置(可选)

  • 创建多个环境文件:.env.dev, .env.prod
  • 加载时根据环境选择文件:
await dotenv.load(fileName: ".env.${const String.fromEnvironment('ENV')}");

注意事项

  • 确保 .env 文件路径正确
  • 变量名区分大小写
  • 敏感信息不要提交到代码仓库

这样就完成了环境变量的配置和使用。

回到顶部