Skip to content

Commit

Permalink
feat: esModule option
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Dec 16, 2019
1 parent 23bc1e9 commit ace861e
Show file tree
Hide file tree
Showing 18 changed files with 725 additions and 896 deletions.
29 changes: 29 additions & 0 deletions README.md
Expand Up @@ -118,6 +118,7 @@ module.exports = {
| **[`importLoaders`](#importloaders)** | `{Number}` | `0` | Enables/Disables or setups number of loaders applied before CSS loader |
| **[`localsConvention`](#localsconvention)** | `{String}` | `'asIs'` | Style of exported classnames |
| **[`onlyLocals`](#onlylocals)** | `{Boolean}` | `false` | Export only locals |
| **[`esModule`](#esmodule)** | `{Boolean}` | `false` | Use ES modules syntax |

### `url`

Expand Down Expand Up @@ -857,6 +858,34 @@ module.exports = {
};
```

### `esModule`

Type: `Boolean`
Default: `false`

By default, `css-loader` generates JS modules that use the CommonJS modules syntax.
There are some cases in which using ES modules is beneficial, like in the case of [module concatenation](https://webpack.js.org/plugins/module-concatenation-plugin/) and [tree shaking](https://webpack.js.org/guides/tree-shaking/).

You can enable a ES module syntax using:

**webpack.config.js**

```js
module.exports = {
module: {
rules: [
{
test: /\.css$/i,
loader: 'css-loader',
options: {
esModule: true,
},
},
],
},
};
```

## Examples

### Assets
Expand Down

0 comments on commit ace861e

Please sign in to comment.