matthewmueller / Roo

Jump-start your front-end server

Programming Languages

javascript
184084 projects - #8 most used programming language

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].