We’ve covered cool things from TJ Holowaychuk before, but Express, a new Sinatra-ispired DSL-based web framework for Node.js brings us to our feet.

To install, simply clone the project from The Hub:

$ git clone git://github.com/visionmedia/express.git
$ cd express && git submodule update --init

or install via Kiwi

$ kiwi -v install express

From there, the syntax should look very familiar for the Sinatra fan:

require.paths.unshift('path/to/express/lib')
require('express')

get('/', function(){
  this.redirect('/hello/world')
})

get('/hello/world', function(){
  return 'Hello World'
})

run()

Features in this version include:

  • RESTful DSL
  • Focus on high performance
  • Multi-part file upload support
  • Cookie support
  • Session support
  • Redirection helpers
  • Environment based configuration
  • Light-weight class implementation
  • Persistent flash messages
  • Route passing
  • MIME helpers
  • Logger plugin with many formats
  • View support (haml, sass, etc)
  • Cache API
  • RESTful HTTP client

[Source on GitHub] [Homepage]


Have comments? Send a tweet to @TheChangelog on Twitter.

Subscribe to The Changelog Weekly – our weekly email covering everything that hits our open source radar.