How to use --dart-define-from-file with .env and json files

Did you know?

--dart-define-from-file supports both .env and json files.

Here's how to use it for each variant:

--dart-define-from-file with .env and json file inputs

Then, you can use String.fromEnvironment to read the keys in your Dart code.

For convenience, define an Env class that holds all the keys in one place. This makes it easier to use them.

Extra tip: when your app starts, throw an exception if the keys are not defined (this will help you catch any configuration errors):

Reading the keys in your Dart code

For a more in-depth guide about API keys in Flutter, read:

Happy coding!

Want More?

Invest in yourself with my high-quality Flutter courses.

Flutter In Production

Flutter In Production

Learn about flavors, environments, error monitoring, analytics, release management, CI/CD, and finally ship your Flutter apps to the stores. 🚀

Flutter Foundations Course

Flutter Foundations Course

Learn about State Management, App Architecture, Navigation, Testing, and much more by building a Flutter eCommerce app on iOS, Android, and web.

Flutter & Firebase Masterclass

Flutter & Firebase Masterclass

Learn about Firebase Auth, Cloud Firestore, Cloud Functions, Stripe payments, and much more by building a full-stack eCommerce app with Flutter & Firebase.

The Complete Dart Developer Guide

The Complete Dart Developer Guide

Learn Dart Programming in depth. Includes: basic to advanced topics, exercises, and projects. Last updated to Dart 2.15.

Flutter Animations Masterclass

Flutter Animations Masterclass

Master Flutter animations and build a completely custom habit tracking application.