0.3.0 • Published 9 years ago
html-compression-webpack-plugin v0.3.0
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)$/itestHTML: 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.