Zappa is a CoffeeScript-optimized interface to Express and Socket.IO.
require('zappajs') ->
# Server-side
@get '/': ->
@render 'index',
title: 'Zappa!'
scripts: '/zappa/Zappa.js /index.js /client.js'
stylesheet: '/index.css'
@view index:
doctype 5
html ->
head ->
title @title if @title
for s in @scripts.split ' '
script src: s
link rel:'stylesheet', href:@stylesheet
body ->
h1 'Welcome to Zappa!'
div id:'content'
@css '/index.css':
body:
font: '12px Helvetica'
h1:
color: 'pink'
@get '/:name/data.json': ->
record =
id: 123
name: @params.name
email: "#{@params.name}@example.com"
@send record
@on 'ready': ->
console.log "Client #{@id} is ready and says #{@data}."
# Client-side
@coffee '/index.js': ->
alert 'hi'
@client '/client.js': ->
@connect()
$ =>
@emit 'ready', 'hello'
@get '#/': ->
@swap 'Ready to roll!'
npm install zappajs
This will install v0.3, which depends on Express 2.5. If you would rather use Express 3.0:
npm install zappajs@0.4
-
Get the gist with the crash course
-
Check the API reference
-
See the examples included with the source
-
Read the annotated source generated by docco
-
The source code repository at github
-
Questions, suggestions? Drop us a line on the mailing list
-
Found a bug? Open an issue at github
-
Check the project's history at the change log
-
Deploying to heroku? Check this blog post