Koa Simple Static
Simple caching static file server for Koa 2.
Fork of koa-static-cache with better
options.
Installation
npm i -S koa-simple-static
Usage
app.use(serve({
dir: process.cwd()
}))
Options
dir : str
— directory you want to servemaxAge : ?number = 0
— cache control max age (in seconds)gzip : ?bool = false
— compress with gzip when request's accept-encoding
includes gzipextraHeaders : ?Object[]
— any extra headers you wish to set for requests served by this module
- The format for this is
[ { 'Link': '</foo.js>; rel=preload; as=script' }, { 'Set-Cookie': 'foo=bar; path=/;' } ]
Example
import serve from 'koa-simple-static'
import { resolve } from 'path'
import Koa from 'koa'
const app = new Koa()
const port = process.env.PORT || 4444
app.use(serve({
dir: resolve(__dirname, 'public'),
gzip: true,
extraHeaders: [ { 'X-Something-Whatever': 'foo, bar' } ]
}))
app.listen(port)
console.log(`Serving on ${port}!`)
Contributing
- Please do, if you want! I'll consider any PRs, but no promises.
- Notes:
- This project uses Flow.
- It will be easiest if you have your editor configured to work with
eslint
and flow
. - Please run tests!
- Please add tests, if you're adding functionality.
- My top priorities right now:
- Using Node's
zlib
and fs
instead of mz
- Removing
regenerator
- Adding typings for TypeScript users
License
MIT