brick-router
Modular router for serving static assets
Last updated 5 years ago by yoshuawuyts .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install brick-router 
SYNC missed versions from official npm registry.

brick-router

NPM version build status Test coverage Downloads js-standard-style

Static asset server that can write to files.

Installation

$ npm install brick-router

Usage

const brick = require('brick-router')
const fs = require('fs')

const router = brick()

router.on('/index.html', cb => {
  const rs = fs.createReadStream('index.html')
  cb(null, rs)
})

// use as router
router.match('/index.html', (err, res) => {
  if (err) throw err
  res.pipe(process.stdout)
})

// write to file
router.build(__dirname + '/my-dirname')

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

License

MIT

Current Tags

  • 2.1.3                                ...           latest (5 years ago)

12 Versions

  • 2.1.3                                ...           5 years ago
  • 2.1.2                                ...           5 years ago
  • 2.1.1                                ...           6 years ago
  • 2.1.0                                ...           6 years ago
  • 2.0.2                                ...           6 years ago
  • 2.0.1                                ...           6 years ago
  • 2.0.0                                ...           6 years ago
  • 1.0.4                                ...           6 years ago
  • 1.0.3                                ...           6 years ago
  • 1.0.2                                ...           6 years ago
  • 1.0.1                                ...           6 years ago
  • 1.0.0                                ...           6 years ago
Maintainers (2)
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (5)
Dev Dependencies (6)
Dependents (1)

Copyright 2014 - 2016 © taobao.org |