npm i -D compression-webpack-pluginvar CompressionPlugin = require("compression-webpack-plugin");
module.exports = {
plugins: [
new CompressionPlugin({
asset: "[path].gz[query]",
algorithm: "gzip",
test: /\.(js|html)$/,
threshold: 10240,
minRatio: 0.8
})
]
}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]".filename: Afunction(asset)which receives the asset name (after processingassetoption) and returns the new asset name. Defaults tofalse.algorithm: Can be afunction(buf, callback)or a string. For a string the algorithm is taken fromzlib(or zopfli forzopfli). Defaults to"gzip".test: All assets matching this RegExp are processed. Defaults to every asset.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.deleteOriginalAssets: Whether to delete the original assets or not. Defaults tofalse.
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
|
Juho Vepsäläinen |
Joshua Wiens |
Kees Kluskens |
Sean Larkin |