Updated docs

This commit is contained in:
Tj Holowaychuk
2010-07-06 06:52:48 -07:00
parent 87bb27cc4f
commit 2732d2b9d3

View File

@@ -2,37 +2,32 @@
# Express
Insanely fast (and small) server-side JavaScript web development framework
built on **node.js** and the **V8 JavaScript engine**.
built on [node](http://nodejs.org) and [Connect](http://github.com/extjs/Connect).
* Visit the [Wiki](http://wiki.github.com/visionmedia/express) for documentation
* Visit the [Websute](http://expressjs.com) for documentation
* Visit the [Google Group](http://groups.google.com/group/express-js) for discussion
Express will soon run on the [Connect](http://github.com/extjs/Connect) project, a middleware layer for nodejs.
## Features
## Features (so far)
* Sexy DSL with robust sinatra-like routing
* Sexy DSL with robust _sinatra-like_ routing
* Environment based configuration
* High performance
* View support (ejs, jade, haml, sass, etc)
* View partials
* Full test coverage via [expresso](http://github.com/visionmedia/expresso)
Via Connect:
* Session support
* Cache API
* RESTful HTTP client
* Mime helpers
* ETag support
* Redirection helpers
* Multipart file upload support
* Test helpers (mock requests etc)
* Environment based configuration
* Light-weight JavaScript class implementation via [class.js](http://github.com/visionmedia/class.js/)
* Persistent flash messages
* Route passing
* View support (ejs, haml, sass, etc)
* View partials
* View globals/helpers support
* Full test coverage
* Logger plugin with several formats
* Upload size restrictions
* Extremely readable specs
* Persistent flash notifications
* Cookie support
* JSON-RPC
* Logging
* and _much_ more!
## Installation
@@ -51,65 +46,30 @@ or
$ git clone git://github.com/visionmedia/express.git && cd express && git submodule update --init
## Examples
Below is a tiny Express application. View the [Wiki](http://wiki.github.com/visionmedia/express/) for detailed information.
require.paths.unshift('express/lib')
require('express')
configure(function(){
set('root', __dirname)
})
get('/user', function(){
this.redirect('/user/' + this.currentUser.id)
})
get('/user/:id', function(id){
this.render('user.haml.html', {
locals: {
user: this.currentUser,
usersOnline: Session.store.length()
}
})
})
run()
## Running Tests
Express uses the [JSpec](http://jspec.info) BDD JavaScript testing
framework to write and run elegant spec suites. JSpec is frozen
to spec/lib and **does not** require separate installation.
Express uses the [Expresso](http://github.com/visionmedia/expresso) TDD
framework to write and run elegant test suites extremely fast. First update
the git submodules, then run:
$ make test
Run individual suites:
$ node spec/node.js core
$ node spec/node.js mime
$ node spec/node.js routing
...
The latest release of Express is compatible with node --version:
v0.1.98
With _EDGE_ Express we do our best to keep up to date with node's _EDGE_
v0.1.100
## More Information
* [JavaScript Extensions & Utilities](http://github.com/visionmedia/ext.js)
* [JavaScript Sass](http://github.com/visionmedia/sass.js)
* [JavaScript Haml](http://github.com/visionmedia/haml.js)
* [JavaScript Jade](http://github.com/visionmedia/jade) spiritual successor of Haml
* Featured in [Advanced JavaScript e-book](http://www.dev-mag.com/2010/02/18/advanced-javascript/) for only $4
* [Express vs Sinatra Benchmarks](http://tjholowaychuk.com/post/543953703/express-vs-sinatra-benchmarks)
## Contributors
* TJ Holowaychuk (visionmedia) <tj@vision-media.ca>
* Aaron Heckmann (aheckmann) <aaron.heckmann+github@gmail.com>
* Ciaran Jessup (ciaranj) <ciaranj@gmail.com>
* Gareth Jones (csausdev) <gareth.jones@sensis.com.au>
## License