Flutterで.envファイルを使用する

パッケージのインポート

Flutterで.envファイルを作成してそれを使用するには、enviedパッケージとbuild_runnerenvied_generatorを使用する。

flutter pub add envied
flutter pub add --dev build_runner
flutter pub add --dev envied_generator

.envを作成する。

プロジェクトルートに.envファイルを作成する。
ここでは例として以下のようなenvファイルとする。

API_KEY=Wnicwaf3eniwOSfuj3JMJF39jhyh5gb

env.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