json5-loader
A webpack loader for parsing json5 files into JavaScript objects.
Getting Started
To begin, you'll need to install json5-loader
:
$ npm install json5-loader --save-dev
You can use the loader either:
- by configuring the
json5-loader
in the module.rules
object of the webpack configuration, or - by directly using the
json5-loader!
prefix to the require statement.
Suppose we have the following json5
file:
file.json5
{
env: 'production',
passwordStrength: 'strong',
}
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.json5$/i,
loader: 'json5-loader',
type: 'javascript/auto',
},
],
},
};
Options
Name | Type | Default | Description |
---|
esModule | {Boolean} | true | Uses ES modules syntax |
esModule
Type: Boolean
Default: true
There are some cases in which using ES modules is beneficial, like in the case of module concatenation and tree shaking.
You can enable a ES module syntax using:
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.json5$/i,
loader: 'json5-loader',
options: {
esModule: false,
},
type: 'javascript/auto',
},
],
},
};
Examples
Usage with require statement loader prefix
file.json5
{
env: 'production',
passwordStrength: 'strong',
}
index.js
import appConfig from 'json5-loader!./file.json5';
console.log(appConfig.env);
Don't forget to polyfill require if you want to use it in Node.js. See the webpack documentation.
Contributing
Please take a moment to read our contributing guidelines if you haven't yet done so.
CONTRIBUTING
License
MIT