Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including koa-static with all npm packages installed. Try it out:

var koaStatic = require("koa-static")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

koa-static v5.0.0

Static file serving middleware for koa


NPM version Build status Test coverage Dependency Status License Downloads

Koa static file serving middleware, wrapper for koa-send.


$ npm install koa-static


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 served
  • opts options object.


  • 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)


const serve = require('koa-static');
const Koa = require('koa');
const app = new Koa();

// $ GET /package.json

// $ GET /hello.txt

// or use absolute paths
app.use(serve(__dirname + '/test/fixtures'));


console.log('listening on port 3000');

See also




RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free