iisnode-env
iisnode-env
is a zero-dependency module that loads environment variables from the <appSettings>
-section of a web.config
file into process.env
.
Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology.
When hosting a node app on iisnode
(for instance in an Azure WebApp), iisnode
automatically provides appSettings
from web.config
via process.env
.
As such iisnode-env
does nothing if process.env.IISNODE_VERSION
is defined and aims only to simplify the move between running an app inside and outside of iisnode
.
Install
npm i -S iisnode-env
Usage
As early as possible in your application, require and configure iisnode-env
; // or use the alias;
The module will do nothing if process.env.IISNODE_VERSION
is defined.
In that case iisnode will have already loaded the variables.
Config
Alias: load
config
will read your web.config
file, parse the contents, assign it to process.env
and return the loaded content or an error
key if it failed.
const result = ifresulterror throw resulterror console
If process.env.IISNODE_VERSION
is defined, config
returns an empty object.
You can additionally, pass options to config
Options
Path
Default: web.config
Encoding
Default: utf8
Limits
This is i very simple module and as such there is no support (at this time) for doing this:
We only get the values we find inside of the <appSettings>
-section.
Credits
Inspired by and based on