npm.io
0.5.0 • Published 7 years ago

@billykwok/combine-loader

Licence
MIT
Version
0.5.0
Deps
1
Size
273 kB
Vulns
0
Weekly
0
DeprecatedThis package is deprecated

combine-loader

npm version Greenkeeper badge Travis CI Build Status Appveyor Build status

webpack loader to combine results from multiple loaders into one object

Installation

npm install combine-loader

Usage

In your webpack configuration, pass an object as the options for combine-loader. Each key-value pair corresponds to the same key in the exported object, using the provided loader string value to load the file. For example:

module.exports = {
  // ...
  module: {
    // ...
    rules: [
      {
        test: /\.md$/,
        loader: 'combine-loader',
        options: {
          raw: 'raw-loader',
          frontmatter: ['json-loader', 'front-matter-loader?onlyAttributes'],
          content: [
            'html-loader',
            'markdown-it-loader',
            'front-matter-loader?onlyBody',
          ],
        },
      }
    ]
  }
}

In the above example, the final exported value for .md files is an object with keys raw, frontmatter, and content, with values loaded using the provided loaders. In other words, this...

const example = require('./example.md')

...is effectively equivalent to this:

const example = {
  raw: require('!raw-loader!./example.md'),
  frontmatter: require('!json-loader!front-matter-loader?onlyAttributes!./example.md'),
  content: require('!html-loader!markdown-it-loader!front-matter-loader?onlyBody!./example.md')
}

NOTE: ! is prepended to override loaders in webpack's config

Keywords