DEPREACTED
https://github.com/webpack/webpack/tree/master/examples/custom-json-modules
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-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', }, ], }, };
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); // 'production'
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.