Awesome
koa-static
Koa static file serving middleware, wrapper for koa-send
.
Installation
$ npm install koa-static
API
import Koa from "koa"; // CJS: require('koa');
import serve from "koa-static"; // CJS: require('koa-static')
const app = new Koa();
app.use(serve(root, opts));
root
root directory string. nothing above this root directory can be servedopts
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 'index.html'defer
If true, serves afterreturn next()
, allowing any downstream middleware to respond first.gzip
Try to serve the gzipped version of a file automatically when gzip is supported by a client and if the requested file with .gz extension exists. defaults to true.brotli
Try to serve the brotli version of a file automatically when brotli is supported by a client and if the requested file with .br extension exists (note, that brotli is only accepted over https). defaults to true.- setHeaders Function to set custom headers on response.
extensions
Try to match extensions from passed array to search for file when no extension is sufficed in URL. First found is served. (defaults tofalse
)
Example
const serve = require("koa-static");
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");
See also
- koajs/conditional-get Conditional GET support for koa
- koajs/compress Compress middleware for koa
- koajs/mount Mount
koa-static
to a specific path
License
MIT