Configuration
Introduction
Nylo provides a .env
file which contains global configuration variables like the app name, default locale and your App's environment.
This file is located at the root of your project, named ".env".
APP_NAME=Nylo
APP_ENV=local
APP_DEBUG=true
APP_URL=https://nylo.dev
ASSET_PATH_PUBLIC=public/assets/
ASSET_PATH_IMAGES=public/assets/images
TIMEZONE=UTC
DEFAULT_LOCALE=en
You can add new variables here and then fetch them using the getEnv()
helper.
Accessing values from the .env file
You can access your .env
values anywhere in the app using the below helper.
import 'package:nylo_framework/nylo_framework.dart';
String appName = getEnv('APP_NAME');
Environment Configuration
Configuring your applications environment is simple.
First open your .env
file and then update the keys in the environment file.
You can also add additional keys here, e.g. SHOW_ADS="false"
.
Your .env file
APP_NAME="My Super App"
Your Text widget
Text(
"Hello, my app's name is " + getEnv('APP_NAME'),
textAlign: TextAlign.center,
overflow: TextOverflow.ellipsis,
style: TextStyle(fontWeight: FontWeight.bold),
)
Best practises:
-
Don't store anything sensitive or large.
-
Don't commit your
.env
file to a (public/private) repository.
Environment Variable Types
The values in your .env file are defined as String
's but Nylo will return them differently if they match a type e.g. Boolean
or null
.
.env file |
Return type |
---|---|
APP_NAME="MySuper App" | String |
DEBUG_MODE=true | Boolean |
URL_TERMS=null | null |
Retrieving Environment Values
Fetching values from your .env
file is simple in Nylo, you can call the getEnv(String key)
helper.
String appName = getEnv('APP_NAME');
You can also provide a defaultValue if the key doesn't exist in the .env file.
String locale = getEnv('DEFAULT_LOCALE', defaultValue: "en");
int httpConnectionTimeout = getEnv('HTTP_CONNECTION_TIMEOUT', defaultValue: (60 * 1000));
Environment flavours
In Nylo, you can build your application from different environment 'flavours'. This allows you to create separate .env
files e.g. 'production', 'staging' or 'developing' and then build your app from the configuration.
Creating an environment flavour
First, make a new file at the root level of your project, e.g. .env.production
. Then, you can define all your env variables in this file.
Next, add the new env file to your 'assets' in the pubspec.yaml
file.
pubspec.yaml
assets:
...
- .env
- .env.production // -- new
Then, from the terminal, build your Flutter app by specifying the env file like in the below example.
flutter run --dart-define="ENV_FILE=.env.production"
flutter run --dart-define="ENV_FILE=.env.developing"
// or build
flutter build ios --dart-define="ENV_FILE=.env.developing"
flutter build appbundle --dart-define="ENV_FILE=.env.developing"
The
ENV_FILE
will default to.env