Skip to content

Static file serving middleware for Koa. Forked from an inactive project and maintained for Lad.

License

Notifications You must be signed in to change notification settings

ladjs/koa-better-static

Repository files navigation

build status code style styled with prettier made with lass license npm downloads

Static file serving middleware for Koa. Forked from an inactive project and maintained for Lad.

Table of Contents

Features

Our package @ladjs/koa-better-static is a high-performance, drop-in replacement for koa-static and is a modernized, Koa 2.x+ fork of koa-better-static (which is unmaintained and inactive).

  • Uses a more optimal version of koa-send
  • Supports If-Modified-Since header for cache/performance
  • Removal of gzip option (which checks for .gz files)
  • Removal of defer (if you want this behavior, put the middleware at the end)
  • No default index file
  • Faster performance with findIndex hidden file lookup
  • Properly sets Content-Type header using mime-types

Install

npm:

npm install @ladjs/koa-better-static

Usage

This package exposes a function which accepts two arguments root (String - the path to serve assets from) and opts (an Object of options, see Options below).

const serve = require('@ladjs/koa-better-static');
const koa = require('koa');
const app = koa();

// GET /package.json
app.use(serve('.'));

// GET /hello.txt
app.use(serve('test/fixtures'));

// or use absolute paths
app.use(serve(__dirname + '/test/fixtures'));

app.listen(3000, () => {
  console.log('listening on port 3000');
});

Options

  • maxage Browser cache max-age in milliseconds. defaults to 0 (maxAge camelCase also works as a valid option alternative)
  • hidden Allow transfer of hidden files. defaults to false
  • index Default file name, defaults to none
  • ifModifiedSinceSupport by sending a 304 (not modified) response. Defaults to true
  • format Allow trailing slashes for directories (e.g. /directory and /directory. Defaults to true

Contributors

Name Website
Nick Baugh http://niftylettuce.com/

License

MIT © Nick Baugh

About

Static file serving middleware for Koa. Forked from an inactive project and maintained for Lad.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published