mirror of
https://github.com/serverless/serverless.git
synced 2025-12-08 19:46:03 +00:00
1.7 KiB
1.7 KiB
Resolution of environment variables
To automatically load environment variables from .env files (with the help of the dotenv package), set useDotenv: true in serverless.yml:
useDotenv: true
With that option enabled, .env files will also be excluded from the package in order to avoid uploading sensitive data as a part of a package by mistake.
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