flutter_dotenv 3.0.1 flutter_dotenv: ^3.0.1 copied to clipboard
Easily configure any flutter application with global variables using a `.env` file.
flutter_dotenv #
Load configuration at runtime from a .env
file which can be used throughout the application.
The twelve-factor app stores config in environment variables (often shortened to env vars or env). Env vars are easy to change between deploys without changing any code... they are a language- and OS-agnostic standard.
About #
This library is a fork of mockturtl/dotenv dart library, initially with slight changes to make it work with flutter.
An environment is the set of variables known to a process (say, PATH
, PORT
, ...).
It is desirable to mimic the production environment during development (testing,
staging, ...) by reading these values from a file.
This library parses that file and merges its values with the built-in
Platform.environment
map.
Usage #
Create a .env
file in the root of your project with the example content:
VAR_NAME=HELLOWORLD
Add the .env
file to your assets bundle in pubspec.yaml
assets:
- .env
Optionally add the .env
file as an entry in your .gitignore
if it isn't already
.env*
Load the .env file in main.dart
import 'package:flutter_dotenv/flutter_dotenv.dart' as DotEnv;
Future main() async {
// NOTE: The filename will default to .env and doesn't need to be defined in this case
await DotEnv.load(fileName: ".env");
//...runapp
}
You can then access variables from .env
throughout the application
import 'package:flutter_dotenv/flutter_dotenv.dart';
env['VAR_NAME'];
Optionally you could map env
after load to a config model to access a config with types.
Discussion
Use the issue tracker for bug reports and feature requests.
Pull requests are welcome.
Prior art
- mockturtl/dotenv (dart)
- bkeepers/dotenv (ruby)
- motdotla/dotenv (node)
- theskumar/python-dotenv (python)
- joho/godotenv (go)
- slapresta/rust-dotenv (rust)
- chandu/dotenv (c#)
- tpope/lein-dotenv, rentpath/clj-dotenv (clojure)
- mefellows/sbt-dotenv (scala)
- greenspun/dotenv (half of common lisp)