koa-static
!NPM versionnpm-imagenpm-url
!Build statustravis-imagetravis-url
!Test coveragecoveralls-imagecoveralls-url
!Dependency Statusdavid-imagedavid-url
!Licenselicense-imagelicense-url
!Downloadsdownloads-imagedownloads-urlKoa static file serving middleware, wrapper for
koa-send
.Installation
$ npm install koa-static
API
const Koa = require('koa');
const app = new Koa();
app.use(require('koa-static')(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 0
- hidden
Allow transfer of hidden files. defaults to false
- index
Default file name, defaults to 'index.html'
- defer
If true, serves after return 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.
- br
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 to false
)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 Mountkoa-static
to a specific path