html-compression-webpack-plugin
v0.3.0
Published
Prepare compressed versions of assets to serve them with Content-Encoding.
Downloads
8
Readme
HTML compression plugin for webpack
Info
The compression-webpack-plugin
didn't compress HTML files. This plugin aims to solve that.
Usage
Credits to @sokra for the code from compression-webpack-plugin (https://github.com/webpack/compression-webpack-plugin) and other that contributed to it. Link to NPM: https://www.npmjs.com/package/html-compression-webpack-plugin
var HTMLCompressionPlugin = require("html-compression-webpack-plugin");
module.exports = {
plugins: [
new HTMLCompressionPlugin({
testHTML: /\.html$/,
test: /.*\.(css|js)$/i,
asset: '[path].gz',
algorithm: 'gzip',
threshold: 0,
minRatio: 0.0,
deleteOriginalAssets: true
})
]
}
Arguments:
asset
: The target asset name.[file]
is replaced with the original asset.[path]
is replaced with the path of the original asset and[query]
with the query. Defaults to"[path].gz[query]"
algorithm
: Can be afunction(buf, callback)
or a string. For a string the algorithm is taken fromzlib
(or zopfli forzopfli
). Defaults to"gzip"
.deleteOriginalAssets
: Whether to delete the original assets or not. Defaults tofalse
.test
: All assets matching this RegExp are processed. Defaults to/.*\.(js|css)$/i
testHTML
: All assets matching this RegExp are processed. This will happen in the emit phase. Defaults to/\.html$/
threshold
: Only assets bigger than this size are processed. In bytes. Defaults to0
.minRatio
: Only assets that compress better that this ratio are processed. Defaults to0.8
.
Option Arguments for Zopfli (see node-zopfli doc for details):
verbose
: Default: false,verbose_more
: Default: false,numiterations
: Default: 15,blocksplitting
: Default: true,blocksplittinglast
: Default: false,blocksplittingmax
: Default: 15
Example
To try out the example:
node example/run-to-bundle-example-project.js
The resulting files will be created example/build
folder.
License
MIT (http://www.opensource.org/licenses/mit-license.php)