read appSettings from web.config into process.env
npm install iisnode-enviisnode-env is a zero-dependency module that loads environment variables from the -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.
``bash`
npm i -S iisnode-env
`js
require('iisnode-env').config();
// or use the alias
require('iisnode-env').load();
`
The module will do nothing if process.env.IISNODE_VERSION is defined.
In that case iisnode will have already loaded the variables.
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.
`js
const result = require('iisnode-env').config()
if(result.error) {
throw result.error
}
console.log(result.parsed)
`
If process.env.IISNODE_VERSION is defined, config returns an empty object.
You can additionally, pass options to config
#### Options
##### Path
Default: web.config
`js`
require('iisnode-env').config({ path: '/custom/path/to/web.config' })
##### Encoding
Default: utf8
`js`
require('iisnode-env').config({ encoding: 'base64' })
This is i very simple module and as such there is no support (at this time) for doing this:
`xml`
We only get the values we find inside of the
MIT: http://tolu.mit-license.org