vue-cli-plugin-compression

Prepare compressed versions of assets to serve them with Content-Encoding
70,643 17
Install
npm install vue-cli-plugin-compression
Latest Version:2.0.0
License:MIT
Last Updated:Feb 14, 2026
Links: GitHub  ·  npm
Maintainer: weber.andreas

vue-cli-plugin-compression

compression plugin for vue-cli

Configuration

Uses compression-webpack-plugin

By default, a brotli and gzip compression plugin are configured, which automatically compress js, css, html, svg and json files.

Installing in an Already Created Project

vue add compression

Configrations

vue-cli-plugin-compression default configuration in vue.config.js:

const zlib = require("zlib");
module.exports = {
  pluginOptions: {
    compression:{
      brotli: {
        filename: '[file].br[query]',
        algorithm: 'brotliCompress',
        include: /\.(js|css|html|svg|json)(\?.*)?$/i,
        compressionOptions: {
          params: {
            [zlib.constants.BROTLI_PARAM_QUALITY]: 11,
          },
        },
        minRatio: 0.8,
      },
      gzip: {
        filename: '[file].gz[query]',
        algorithm: 'gzip',
        include: /\.(js|css|html|svg|json)(\?.*)?$/i,
        minRatio: 0.8,
      }
    }
  }
}

It is possible to extend with own compression options, e.g.

const zopfli = require('@gfx/zopfli');
module.exports = {
  pluginOptions: {
    compression:{
      zopfli: {
        compressionOptions: {
          numiterations: 15,
        },
        algorithm(input, compressionOptions, callback) {
          return zopfli.gzip(input, compressionOptions, callback);
        },
      }
    }
  }
}

Compression Webpack plugin is enabled only in production mode by default. However, this can be overridden by specifying the option modes

module.exports = {
  pluginOptions: {
    compression:{
      modes: ['development', 'production'],
     ...
    }
  }
}

Injected webpack-chain Rules

  • config.plugins('brotli-compression')
  • config.plugins('gzip-compression')

Related Packages

h3-compression

Adds compression to h3 request (brotli, gzip, deflate, zstd)

4,045,812 94
nuxt-compress

Runs gzip and brotli compression on static assets during Nuxt build

278,005 103
nuxt-precompress

Precompress files to gzip and brotli and serve them automatically

58,387 117
vue-cli-plugin-moment

moment.js plugin for vue-cli

28,960 15

Version History

Version Released License
2.0.0 MIT
1.2.0 MIT
1.1.5 MIT
1.1.4 MIT
1.1.3 MIT
Pre-releases (1)
Version Released License
2.0.0-rc.0 MIT