Skip to content

erikdesjardins/extricate-loader

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

extricate-loader

Webpack loader to extract content from the bundle.

A fork of extract-loader, which will better serve your needs if you only want to extract HTML or CSS.

Installation

npm install --save-dev extricate-loader

Options

By default, extricate-loader will resolve all require() expressions with Webpack's internal module loader and substitute the resolved values asynchronously.

If you supply a regexp for the resolve option, any path that matches will be required synchronously with Node's native require(). This means that none of your Webpack loaders will apply.

This is necessary for css-loader to work, since it requires a helper module.

Examples

All .js files: extricate-loader?resolve=\\.js$

Example Usage

webpack.config.js:

module.exports = {
  entry: 'manifest.json',
  module: {
    rules: [
      {
        test: /\.json$/,
        use: [
          { loader: 'file-loader', options: { name: '[name].[ext]' } },
          { loader: 'extricate-loader' },
          { loader: 'interpolate-loader' }
        ]
      },
      {
        test: /\.css$/,
        use: [
          { loader: 'file-loader' },
          { loader: 'extricate-loader', options: { resolve: '\\.js$' } },
          { loader: 'css-loader' }
        ]
      },
      { test: /\.js$/, use: ['entry-loader'] },
      { test: /\.png$/, use: ['file-loader'] }
    ]
  }
  // ...
};

manifest.json:

{
  "scripts": "{{app.js}}",
  "css": "{{main.css}}"
}

main.css:

body {
  background: url(bg.png);
}

Output

manifest.json:

{
  "scripts": "e43b20c069c4a01867c31e98cbce33c9.js",
  "css": "0dcbbaa701328a3c262cfd45869e351f.css"
}

0dcbbaa701328a3c262cfd45869e351f.css:

body {
  background: url(7c57758b88216530ef48069c2a4c685a.png);
}

License

Unlicense

About

Webpack loader to extract content from the bundle.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 94.7%
  • HTML 4.8%
  • CSS 0.5%