@mmckelvy/serve-compressed

1.0.1 • Public • Published

serve-compressed

serve-compressed is Express middleware that allows you to serve pre-compressed files. This is different from the compression middleware package, which compresses files on the fly. Serving pre-compressed files is faster and less memory intensive than compressing files on the fly, which means your Express server can devote resources to other, more important tasks.

Install

npm install @mmckelvy/serve-compressed

Usage

serve-compressed only works with pre-compressed files. Compress your files during your build process using the Webpack Compression Plugin or a command line utility like gzip. Once you have your compressed files in the appropriate directory, you can use serve-compressed like so:

const path = require('path');
const express = require('express');
const serveCompressed = require('@mmckelvy/serve-compressed');

const app = express();

// Include serveCompressed BEFORE your middleware
app.use(serveCompressed({
  extensions: ['.js', '.css'],
  rootDir: __dirname
}));
app.use('/files', express.static(path.join(__dirname, 'files')));

module.exports = app;

Note that serve-compressed expects gzipped files (i.e. files with a .gz extension).

API

serveCompressed

Parameters

extensions string[]

Default: ['.js', '.css']. An array of file extensions to include when checking for compressed assets. For example, if you pass [.js', '.css'] (the default), serve-compressed will check for compressed versions of any .js or .css file requested.


rootDir string

Default: process.cwd(). The root directory where your compressed assets are located.

Returns

function

An Express middleware function with the following signature:

function serve(req, res, next)

Package Sidebar

Install

npm i @mmckelvy/serve-compressed

Weekly Downloads

66

Version

1.0.1

License

MIT

Unpacked Size

5.2 kB

Total Files

4

Last publish

Collaborators

  • mmckelvy