SanderSpies / extract-text-webpack-plugin

Extract text from bundle into a file.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

extract text plugin for webpack

Usage example with css

var ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = {
	module: {
		loaders: [
			{ test: /\.css$/, loader: ExtractTextPlugin.extract("style-loader", "css-loader") }
		]
	},
	plugins: [
		new ExtractTextPlugin("styles.css")
	]
}

It moves every require("style.css") in entry chunks into a separate css output file. So your styles are no longer inlined into the javascript, but separate in a css bundle file (styles.css). If your total stylesheet volume is big, it will be faster because the stylesheet bundle is loaded in parallel to the javascript bundle.

Advantages:

  • Fewer style tags (older IE has a limit)
  • CSS SourceMap (with devtool: "sourcemap")
  • CSS requested in parallel
  • CSS cached separate
  • Faster runtime (less code and DOM operations)

Caveats:

  • Additional HTTP request
  • Longer compilation time
  • Complexer configuration
  • No runtime public path modification

API

new ExtractTextPlugin([id: string], filename: string, [options])
  • id Unique ident for this plugin instance. (For advanded usage only)
  • filename the filename of the result file. May contain [name].
  • options
    • allChunks extract all chunks (by default only initial chunks)
ExtractTextPlugin.extract([notExtractLoader], loader)

Creates an extracting loader from a existing loader.

  • notExtractLoader (optional) the loader(s) that should be used when the css is not extracted (i. e. in a additional chunk when allChunks: false)
  • loader the loader(s) that should be used for converting the resource to a css exporting module.

There is also a extract function on the instance. You should use this if you have more than one ExtractTextPlugin.

License

MIT (http://www.opensource.org/licenses/mit-license.php)

About

Extract text from bundle into a file.


Languages

Language:JavaScript 97.8%Language:CSS 2.2%