webpack plugin to generate a custom JSON asset
npm install generate-json-webpack-plugin
// webpack.config.js
const GenerateJsonPlugin = require('generate-json-webpack-plugin');
module.exports = {
// ...
plugins: [
// ...
new GenerateJsonPlugin('my-file.json', {
foo: 'bar',
}),
],
// ...
};
This will create a file my-file.json
in webpack's output directory, with contents:
{ "foo": "bar" }
You may optionally pass 'replacer' and 'space' arguments as the 3rd and 4th arguments, which will be passed to JSON.stringify
to customize the JSON output:
new GenerateJsonPlugin(
'my-file.json',
{ foo: 'bar', one: 'two' },
(key, value) => {
if (value === 'bar') {
return 'baz';
}
return value;
},
2
);
my-file.json
will contain:
{
"foo": "baz",
"one": "two"
}