Flutterで.envファイルを使用する
パッケージのインポート
Flutterで.envファイルを作成してそれを使用するには、enviedパッケージとbuild_runnerとenvied_generatorを使用する。
flutter pub add envied
flutter pub add --dev build_runner
flutter pub add --dev envied_generatorenvied install | Dart package
Explicitly reads environment variables into a dart file from a .env file for more security and faster start up times.
pub.dev
.envを作成する。
プロジェクトルートに.envファイルを作成する。
ここでは例として以下のようなenvファイルとする。
API_KEY=Wnicwaf3eniwOSfuj3JMJF39jhyh5gbenv.dartと生成ファイル。
プロジェクトのどこでもいいので、env.dartファイルを作成する。
import 'package:envied/envied.dart';
part 'env.g.dart';
@Envied(path: '.env')
abstract class Env {
@EnviedField(varName: 'API_KEY', obfuscate: true)
static String apiKey = _Env.apiKey;
}obfuscateは難読化するかどうかの引数である。
環境変数を追加したい場合は、上記のコードの@EnvviedFieldから変数定義をもう一度作成するだけである。
そして以下のコマンドを実行する。
flutter pub run build_runner build --delete-conflicting-outputsここで環境変数を追加した場合は必ず上記のコマンドを実行する。
使用方法
作成したenv.dartをインポートする。
import 'env/env.dart';そのあと、Envクラスを通して値にアクセスできる。
print(Env.apiKey);必ず、作成した.envとコマンドによって生成されたenv.g.dartは必ず.gitignoreに登録しておく。
#.env
*.env
*env.g.dart