Transfer static files

npm install koa-send
44 downloads in the last day
296 downloads in the last week
1 355 downloads in the last month

koa-send Build Status

Static file serving middleware.


$ npm install koa-send


  • maxage Browser cache max-age in milliseconds. defaults to 0
  • hidden Allow transfer of hidden files. defaults to false
  • root Root directory to restrict file access

Root path

Note that when root is not used you MUST provide an absolute path, and this path must not contain "..", protecting developers from concatenating user input. If you plan on serving files based on user input supply a root directory from which to serve from.

For example to serve files from ./public:

app.use(function *(){
  yield send(this, this.path, { root: __dirname + '/public' });

To serve developer specified files:

app.use(function *(){
  yield send(this, 'path/to/my.js');


var send = require('koa-send');
var koa = require('koa');
var app = koa();

// $ GET /package.json
// $ GET /

app.use(function *(){
  if ('/' == this.path) return this.body = 'Try GET /package.json';
  yield send(this, __dirname + '/package.json');

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



npm loves you