Flutter如何配置和使用flutter_dotenv环境变量
在Flutter项目中配置flutter_dotenv时遇到了问题,按照文档添加了.env文件并在pubspec.yaml中声明了依赖,但在代码中通过DotEnv().env[‘KEY’]获取环境变量时总是返回null。已经确认.env文件路径正确且包含有效的键值对,也调用了DotEnv().load()方法。请问还需要注意哪些配置细节?如何确保环境变量能正确加载?
2 回复
在Flutter中使用flutter_dotenv管理环境变量,步骤如下:
- 添加依赖
dependencies:
flutter_dotenv: ^5.0.2
- 创建.env文件(项目根目录)
API_URL=https://api.example.com
API_KEY=your_api_key_here
- 配置pubspec.yaml
flutter:
assets:
- .env
- 在main.dart中初始化
import 'package:flutter_dotenv/flutter_dotenv.dart';
void main() async {
await dotenv.load(fileName: ".env");
runApp(MyApp());
}
- 使用环境变量
String apiUrl = dotenv.get('API_URL');
String apiKey = dotenv.get('API_KEY');
注意事项:
- .env文件不要提交到版本控制
- 可创建.env.production等不同环境文件
- 使用dotenv.get()时确保变量已存在,或用dotenv.maybeGet()避免异常
这样就完成了环境变量的配置和使用!
更多关于Flutter如何配置和使用flutter_dotenv环境变量的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在Flutter中配置和使用flutter_dotenv环境变量,可以安全地管理敏感信息(如API密钥)。以下是详细步骤:
1. 添加依赖
在 pubspec.yaml 的 dependencies 下添加:
dependencies:
flutter_dotenv: ^5.1.0
运行 flutter pub get 安装。
2. 创建环境文件
在项目根目录创建 .env 文件(确保添加到 .gitignore),并定义变量:
API_KEY=your_api_key_here
BASE_URL=https://api.example.com
3. 加载配置
在 main.dart 的 main() 函数中初始化:
import 'package:flutter_dotenv/flutter_dotenv.dart';
Future<void> main() async {
await dotenv.load(fileName: ".env"); // 加载文件
runApp(MyApp());
}
4. 使用变量
通过 dotenv.get('KEY') 或 dotenv.env['KEY'] 获取值:
String apiKey = dotenv.get('API_KEY');
String baseUrl = dotenv.get('BASE_URL');
5. 可选配置
- 自定义文件路径:使用
fileName: "config/.env"指定路径。 - 空值处理:
dotenv.get('KEY', fallback: 'default')设置默认值。 - 验证变量:在
load后调用dotenv.isEveryDefined(['KEY1', 'KEY2'])检查变量是否存在。
注意事项
- 安全:切勿提交
.env到版本控制。 - 热重载:修改
.env后需重启应用(非热重载)。
示例完整代码:
// main.dart
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
Future<void> main() async {
await dotenv.load();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Text('API Key: ${dotenv.get('API_KEY')}'),
),
),
);
}
}
通过以上步骤,即可安全管理环境变量。

