A webpack plugin that convert the KV Store Endpoints in environment variables.
The KV Store Endpoints is a feature of consul.io.
Include the package locally in your repository.
npm install consul-env-webpack-plugin -D
yarn add consul-env-webpack-plugin -D
consul-env-webpack-plugin
wraps node-consul and Webpack.DefinePlugin
. As such, it takes the JSON
from the consul server
and parse the keys to process.env
with Webpack.DefinePlugin
.
The plugin can be installed with little configuration needed. Once installed, you can access the variables within your code using process.env
.
The example bellow shows a standard use-case
{
"MY_API": "https://10.5.1.1"
}
// webpack.config.js
const ConsulPlugin = require('consul-env-webpack-plugin')
module.exports = {
...
plugins: [
new ConsulPlugin({
path: 'config/front/data', //path to keys
consul: {
... //node-consul options - see https://github.com/silas/node-consul
}
})
]
...
};
// provider.js
console.log(process.env.MY_API);
// 'https://10.5.1.1'
Use the following properties to configure your instance.
- path (
'config/front/data'
) - The path API to your data endpoints. - consul (
options
) - This options are necessary to config your consul, see default options in node-consul.
The following example shows how to set any/all arguments.
module.exports = {
...
plugins: [
new ConsulPlugin({
path: 'config/front/data',
consul: null //load the default options of node-consul
})
]
...
};