koa-better-static2
v1.1.0
Published
Static file serving middleware for koa@2
Downloads
70
Maintainers
Readme
koa-better-static2
**NOTE: This is for use with Koa 2.x.x and Nodejs 10.x.x. For Koa 1.x.x use https://github.com/ohomer/koa-better-static
This is a updated fork of koa-better-static by ohomer(https://github.com/ohomer) that uses latest Nodejs and Koajs version.
A higher performance, drop in replacement for koa-static
, with a few minimal changes:
- Doesn't use koa-send, but uses an optimized version
- 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 - Requires node 8 or greater.
Installation
$ npm install koa-better-static2
API
const Koa = require('koa');
const serve = require('koa-better-static2');
const app = new Koa();
app.use(serve(root, opts));
opts
options object.
Options
maxage
Browser cache max-age in milliseconds. defaults to 0hidden
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
Example
const serve = require('koa-better-static2');
const Koa = require('koa');
const app = new 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');
License
MIT