@averjs/nuxt-compression

8,135
Install
npm install @averjs/nuxt-compression
Latest Version:1.2.2
Vue:3
License:MIT
Last Updated:Aug 27, 2022
Links: npm
Maintainer: fweber

Compression module for Nuxt 3

npm version npm downloads ci workflow

This is an unofficial compression module for Nuxt 3. Currently it only works with vite. It uses vite-plugin-compression to generate the compressed files. To make this work and serve those files, this plugin modifies the internal code of the unjs/nitro package. There is already an issue for an official way to implement some kind of compression which you can check out here.

Setup

yarn install -D @averjs/nuxt-compression
pnpm add -D @averjs/nuxt-compression

Usage

export default defineNuxtConfig({
  buildModules: ['@averjs/nuxt-compression'],
  'compression': {
    // options
  },
});

Options

viteCompression

  • default -
{
  algorithm: 'brotliCompress',
  filter: /\.(js|mjs|json|css|html)$/i
}

Options for the vite-plugin-compression plugin

maxAge

  • default - 60 * 60 * 24 * 365

Set the maxAge for the Cache-Control Header. Can either be a number or a filter function which accepts the asset path and should return a number. Be aware, if you use cacheControl alongside maxAge, it is getting ignored.

cacheControl

  • default - undefined

Set Cache-Control Header. Can either be a string or a filter function which accespts the asset path and should return a valid Cache-Control Header string. This option has more weight than maxAge and overwrites it. You can head to MDN to see all the available options.

Development

  • Run pnpm dev:prepare to generate type stubs.
  • Use pnpm dev to start playground in development mode.

Related Packages

@averjs/vuex-decorators

Decorators for Vuex.

1,407 0

Version History

Version Released Vue License
1.2.2 ^3.0 MIT
1.2.1 ^3.0 MIT
1.2.0 ^3.0 MIT
1.1.0 ^3.0 MIT
1.0.1 ^3.0 MIT