https://github.com/webpack/webpack/tree/master/examples/custom-json-modules
A webpack loader for parsing json5 files into JavaScript objects.
To begin, you'll need to install json5-loader:
$ npm install json5-loader --save-devYou can use the loader either:
- by configuring the
json5-loaderin themodule.rulesobject 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',},],},};| Name | Type | Default | Description |
|---|---|---|---|
esModule | {Boolean} | true | Uses ES modules syntax |
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',},],},};file.json5
{env: 'production',passwordStrength: 'strong',}index.js
importappConfigfrom'json5-loader!./file.json5';console.log(appConfig.env);// 'production'Don't forget to polyfill require if you want to use it in Node.js. See the webpack documentation.
Please take a moment to read our contributing guidelines if you haven't yet done so.