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
})
]
...
};