flutter如何配置.env文件
在Flutter项目中如何正确配置.env文件?我尝试在pubspec.yaml中添加了flutter_dotenv依赖,并在项目根目录创建了.env文件,但运行时无法读取环境变量。有没有完整的配置步骤示例?包括如何在不同环境中加载不同的.env文件(如.env.development、.env.production),以及如何在代码中安全地访问这些变量?
在Flutter中配置.env文件,推荐使用 flutter_dotenv 包:
-
添加依赖:在
pubspec.yaml的 dependencies 下添加:dependencies: flutter_dotenv: ^5.0.2 -
创建文件:在项目根目录创建
.env文件(记得加入.gitignore) -
添加配置:在
.env中写入配置:API_URL=https://api.example.com API_KEY=your_secret_key -
加载配置:在
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.production),通过 dotenv.load(fileName: ".env.production") 切换。
更多关于flutter如何配置.env文件的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
在 Flutter 中配置和使用 .env 文件,可以通过第三方库 flutter_dotenv 实现,用于管理环境变量(如 API 密钥、基础 URL 等)。以下是详细步骤:
步骤 1:添加依赖
在 pubspec.yaml 文件的 dependencies 下添加 flutter_dotenv:
dependencies:
flutter_dotenv: ^5.1.0
运行 flutter pub get 安装依赖。
步骤 2:创建 .env 文件
在项目根目录(与 pubspec.yaml 同级)创建 .env 文件,并定义环境变量:
API_BASE_URL=https://api.example.com
API_KEY=your_secret_key_here
注意:将 .env 添加到 .gitignore 中,避免提交敏感信息。
步骤 3:配置 pubspec.yaml
在 pubspec.yaml 中声明 .env 文件为资源:
flutter:
assets:
- .env
步骤 4:加载环境变量
在 main.dart 的 main() 函数中初始化加载:
import 'package:flutter_dotenv/flutter_dotenv.dart';
void main() async {
await dotenv.load(fileName: ".env"); // 加载文件
runApp(MyApp());
}
步骤 5:使用环境变量
通过 dotenv.get('KEY') 或 dotenv.env['KEY'] 获取值:
String baseUrl = dotenv.get('API_BASE_URL');
String apiKey = dotenv.env['API_KEY']!;
其他配置建议
- 多环境支持:可创建多个文件(如
.env.dev、.env.prod),通过--dart-define或平台特定方式切换。 - 错误处理:使用
dotenv.get()时,若键不存在会抛出异常;可用dotenv.maybeGet()返回可空值。
示例代码
完整 main.dart 示例:
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
void main() async {
await dotenv.load(fileName: ".env");
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Text('API URL: ${dotenv.get('API_BASE_URL')}'),
),
),
);
}
}
通过以上步骤,即可在 Flutter 中安全地管理环境变量。

