/roo

Jump-start your front-end server

Primary LanguageJavaScript

Roo

NOTE: 2.x is a significant departure from 0.x. Roo has been updated to reflect the changing landscape. The new roo is only meant to recieve and response to dynamic data.

Jump-start your front-end server. Bundles and configures the boilerplate of a Koa app.

Installation

npm install roo

Features

  • Deployable: Ready to be deployed to Dokku or Heroku
  • Composable: Mount Koa servers within or mount within other Koa servers.

Example

const roo = Roo()
const users = Roo()

roo.mount('/users', users)

users.get('/', function * () {
  this.body = 'users!'
})

roo.listen(3000)

API

Roo()

Initialize Roo.

Roo.{get,post,put,delete,...}(route[, middleware, ...], handle)

Add a route to Roo. Routing is powered by kr, so visit there for API details.

roo.post('/signup', signup)
Roo.use(generator)

Pass additional middleware generator's to Roo.

Roo.mount([path], app)

Mount an app inside of Roo at path. path defaults to /

const app = roo()
const dash = roo()
app.mount('/dashboard', dash);
Roo.listen(port, fn)

Start the server on port. You may pass the environment variable PORT=8080 in to specify a port. Otherwise it defaults to 3000 if otherwise not specified.

Roo.listener()

Get koa's request handler. Useful if you'd like to proxy requests.

Test

npm install
make test

Why Roo?

Roo is short for Kangaroo. I wrote this while visiting Australia for CampJS and I have Kangaroos on my mind.

Credits

Kangaroo Icon by Olivier Guin

License

MIT