static serve middlware for koa

-
ETag
The module use weak etag, which is derived from last-modified time and file length.
-
Last-Modified
File last-modified time.
Installation
$ npm i koa-static-serve
Examples
View the ./examples directory for working examples.
API
serve(staticPath, options)
const Koa = require('koa');
const path = require('path');
const app = new Koa();
const serve = require('koa-static-serve');
const staticPath = path.join(__dirname, '..');
app.use(serve(staticPath, {
maxAge: 3600,
sMaxAge: 600,
headers: {
'X-Server': 'koa-static-serve',
},
dotfiles: 'allow',
denyQuerystring: true,
etag: false,
lastModified: false,
'404': 'next',
extname: ['.html'],
}));
const port = process.env.PORT || 10000;
app.listen(port);
console.dir('server listen on:' + port);
staticPath static file path
options
-
maxAge
Static file's http response header, Cache-Control max-age, default is 0.
-
sMaxAge
Static file's http response header, Cache-Control s-maxage for cache application(eg. varnish). If not set, it will be Math.min(3600, maxAge).
-
headers
The default header.
-
dotfiles
Dot file access permission, it can be 'allow', 'deny', 'ignore'. Default is 'ignore'.
-
denyQuerystring
Deny query string, default is false
. If using a http cache server(varnish) for the static files, query string should be denied. Otherwise there will be different cache for the same file.
-
charset
Default content charset.
-
etag
Enable or disable etag generation, default is true.
-
lastModified
Set the Last-Modified header to the last modified date of the file on the OS, default is true.
-
404
Set not found handler. If set 'next', it will call next when not found, otherwise will throw an error (404).
-
extname
Set default extname.
License
MIT