brick-router
Static asset server that can write to files.
Installation
$ npm install brick-router
Usage
const brick = const fs = const router = router // use as routerrouter // write to filerouter
Why?
In development an application usually goes through 3 stages:
- experiment - some html, css, js to toy around locally
- static - static files, usually hosted on GitHub pages
- server - application with a working backend
When switching stages it's common to throw out your build process, and start
from scratch. brick-router
allows you to keep the same build process by
serving files both in-memory (for experimentation and servers) and being able
to write to the filesystem (for static pages).
API
router = brick()
Create a new router.
router.on(filename, cb(err, data|stream))
Register a new path in the router. The callback either accepts data or a ReadableStream.
router.match(filename, cb(err, res))
Match a path on the router, pass in an optional callback to the router which can later be called.
router.build(directory, cb(err, res))
Execute all routes and write the output to a directory tree so it can be served statically. Calls an optional callback on completion.
See Also
- wayfarer - composable trie based router
- chokidar - wrapper around node.js fs.watch / fs.watchFile
- brick-server - HTTP frontend