Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 129 lines (91 sloc) 4.216 kb
8675f12 @tj New doc files
tj authored
1
bf03e85 @tj No more ASCII art
tj authored
2 # Express
3
8675f12 @tj New doc files
tj authored
4 Insanely fast (and small) server-side JavaScript web development framework
9f06b11 @tj Docs
tj authored
5 built on **node.js** and the **V8 JavaScript engine**.
8675f12 @tj New doc files
tj authored
6
ec00ccb @tj Added Google Groups link
tj authored
7 * Visit the [Wiki](http://wiki.github.com/visionmedia/express) for documentation
8 * Visit the [Google Group](http://groups.google.com/group/express-js) for discussion
8675f12 @tj New doc files
tj authored
9
fa08323 @tj Markdown
tj authored
10 ## Features (so far)
8675f12 @tj New doc files
tj authored
11
64a4741 @tj Updated features
tj authored
12 * Sexy DSL with robust sinatra-like routing
13 * High performance
327d5b0 @tj Readme
tj authored
14 * Session support
088aa83 @tj Updated feature list
tj authored
15 * Cache API
16 * RESTful HTTP client
8675f12 @tj New doc files
tj authored
17 * Mime helpers
f0f71cc @tj Docs
tj authored
18 * Redirection helpers
6805e4f @tj Kinda updated feature list a bit
tj authored
19 * Multipart file upload support
8675f12 @tj New doc files
tj authored
20 * Test helpers (mock requests etc)
64a4741 @tj Updated features
tj authored
21 * Environment based configuration
088aa83 @tj Updated feature list
tj authored
22 * Light-weight JavaScript class implementation via [class.js](http://github.com/visionmedia/class.js/)
23 * Persistent flash messages
24 * Route passing
327d5b0 @tj Readme
tj authored
25 * View support (ejs, haml, sass, etc)
6805e4f @tj Kinda updated feature list a bit
tj authored
26 * Full test coverage
088aa83 @tj Updated feature list
tj authored
27 * Logger plugin with several formats
6805e4f @tj Kinda updated feature list a bit
tj authored
28 * Extremely readable specs
bbb858e @tj Added install section in readme
tj authored
29
30 ## Installation
31
0c18ac5 @tj Added kiwi installation docs
tj authored
32 Install the [Kiwi package manager for nodejs](http://github.com/visionmedia/kiwi)
33 and run:
34
35 $ kiwi -v install express
e99c279 @tj Docs
tj authored
36
37 or
38
39 Install via git clone:
40
0dfaf01 @aheckmann add git clone to git command
aheckmann authored
41 $ git clone git://github.com/visionmedia/express.git && cd express && git submodule update --init
9973bd7 @nomiddlename Added example, extra info to Readme
nomiddlename authored
42
fa08323 @tj Markdown
tj authored
43 ## Performance
cc5983f @tj Performance docs
tj authored
44
9f48b32 @tj Benchmarks link
tj authored
45 Extensive performance enhancements have not yet been made,
46 since we are focusing on the framework it-self at the moment.
cdaca71 @tj Updated benchmarking
tj authored
47
9f48b32 @tj Benchmarks link
tj authored
48 However if you are interested view the premature [benchmarks for Express framework](http://vision-media.ca/resources/nodejs/express-nodejs-web-development-framework-performance).
8675f12 @tj New doc files
tj authored
49
fa08323 @tj Markdown
tj authored
50 ## Examples
8675f12 @tj New doc files
tj authored
51
62779fc @tj Doc typo
tj authored
52 Below is a tiny Express application. View the [Wiki](http://wiki.github.com/visionmedia/express/) for detailed information.
b766234 @tj Fixed readme example
tj authored
53
5aaa114 @tj Docs
tj authored
54 require.paths.unshift('express/lib')
e99c279 @tj Docs
tj authored
55 require('express')
56
77f8e46 @tj Better example app
tj authored
57 get('/user', function(){
58 this.redirect('/user/' + this.currentUser.id)
59 })
60
61 get('/user/:id', function(id){
62 this.render('user.haml.html', {
63 locals: {
64 user: this.currentUser,
65 usersOnline: Session.store.length()
66 }
67 })
74e0231 @tj Better app example in readme
tj authored
68 })
fdee4cd @tj Sample app in readme
tj authored
69
9b8d417 @tj Docs
tj authored
70 run()
6ff3100 @tj Added coffeescript example app. Closes #242
tj authored
71
34a55ba @tj Readme for testing
tj authored
72 ## Running Tests
73
74 Express uses the [JSpec](http://jspec.info) BDD JavaScript testing
dda1256 @adamsanderson Minor spell checking
adamsanderson authored
75 framework to write and run elegant spec suites. JSpec is frozen
a7cee4c @tj Removed references to submodules
tj authored
76 to spec/lib and **does not** require separate installation.
fa08323 @tj Markdown
tj authored
77
8e23ebb @tj Updated readme with new spec running info
tj authored
78 $ make test
fde2bfc @tj Link to Mojo mustache templates
tj authored
79
8e23ebb @tj Updated readme with new spec running info
tj authored
80 Run individual suites:
7459e7d @nomiddlename Amended readme for running individual specs
nomiddlename authored
81
694572b @tj Updated to JSpec 3.0.0
tj authored
82 $ node spec/node.js core
83 $ node spec/node.js mime
84 $ node spec/node.js routing
8e23ebb @tj Updated readme with new spec running info
tj authored
85 ...
19672e7 @tj Arch warning for testing binaries
tj authored
86
2d1c98a @tj Docs for stable / edge
tj authored
87 The latest release of Express is compatible with node --version:
b30eaa8 @tj Updated support to v0.1.33
tj authored
88 v0.1.33
7459e7d @nomiddlename Amended readme for running individual specs
nomiddlename authored
89
2d1c98a @tj Docs for stable / edge
tj authored
90 EDGE Express we do our best to keep up to date with node's EDGE
91
881c63c @tj Added ext.js link
tj authored
92 ## More Information
93
94 * [JavaScript Extensions & Utilities](http://github.com/visionmedia/ext.js)
2c92405 @tj Added Sass.js link
tj authored
95 * [JavaScript Sass](http://github.com/visionmedia/sass.js)
91805f7 @tj Shameless self promotion of ebook
tj authored
96 * Featured in [Advanced JavaScript e-book](http://www.dev-mag.com/2010/02/18/advanced-javascript/) for only $4
881c63c @tj Added ext.js link
tj authored
97
3777bfd @tj Added contributor list
tj authored
98 ## Contributors
99
881c63c @tj Added ext.js link
tj authored
100 * TJ Holowaychuk (visionmedia) <tj@vision-media.ca>
99789c3 @tj Bump Aaron up as a contributor
tj authored
101 * Aaron Heckmann (aheckmann) <aaron.heckmann+github@gmail.com>
881c63c @tj Added ext.js link
tj authored
102 * Ciaran Jessup (ciaranj) <ciaranj@gmail.com>
17c4168 @tj Added Gareth to contrib list
tj authored
103 * Gareth Jones (csausdev) <gareth.jones@sensis.com.au>
3777bfd @tj Added contributor list
tj authored
104
fa08323 @tj Markdown
tj authored
105 ## License
8675f12 @tj New doc files
tj authored
106
107 (The MIT License)
108
3777bfd @tj Added contributor list
tj authored
109 Copyright (c) 2009 TJ Holowaychuk <tj@vision-media.ca>
8675f12 @tj New doc files
tj authored
110
111 Permission is hereby granted, free of charge, to any person obtaining
112 a copy of this software and associated documentation files (the
113 'Software'), to deal in the Software without restriction, including
114 without limitation the rights to use, copy, modify, merge, publish,
115 distribute, sublicense, and/or sell copies of the Software, and to
116 permit persons to whom the Software is furnished to do so, subject to
117 the following conditions:
118
119 The above copyright notice and this permission notice shall be
120 included in all copies or substantial portions of the Software.
121
122 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
123 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
124 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
125 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
126 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
127 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
4858502 @nomiddlename Asynchronous handlers working.
nomiddlename authored
128 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Something went wrong with that request. Please try again.