Static file serving middleware for Koa. Forked from an inactive project and maintained for Lad.
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
npm:
npm install @ladjs/koa-better-static
yarn:
yarn add @ladjs/koa-better-static
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');
});
maxage
Browser cache max-age in milliseconds. defaults to0
(maxAge
camelCase also works as a valid option alternative)hidden
Allow transfer of hidden files. defaults to falseindex
Default file name, defaults to noneifModifiedSinceSupport
by sending a 304 (not modified) response. Defaults to trueformat
Allow trailing slashes for directories (e.g. /directory and /directory. Defaults to true
Name | Website |
---|---|
Nick Baugh | http://niftylettuce.com/ |