1.8 KiB
Resolution of environment variables
To automatically load environment variables from .env files (with the help of dotenv package) please set useDotenv property in serverless.yml as below:
useDotenv: true
Having that .env files will also be excluded from the package in order to avoid uploading sensitive data as a part of a package by mistake. Starting with the next major version, .env files will be loaded by default and useDotenv setting will be ignored.
Support for .env files
The framework looks for .env and .env.{stage} files in service directory and then tries to load them using dotenv. If .env.{stage} is found, .env will not be loaded. If stage is not explicitly defined, it defaults to dev.
Variable expansion
It is possible to define environment variables as a combination of existing ones:
BASE_URL=my.api.com
PROTOCOL=https
URL=$PROTOCOL/$BASE_URL
This is supported through dotenv-expand
Differences against serverless-dotenv-plugin
There are a few differences between above functionality and serverless-dotenv-plugin:
- The framework only loads environments variables locally and does not pass them to your function's environment
- The framework loads variables from only one
.envfile (if stage-specific.envis found, default.envis not loaded) - The framework does not support
.env.local,.env.{stage}.local, and.env.developmentfiles in a similar way to the plugin - The framework does not use
NODE_ENVvariable and--envflag when determining stage