Express团队维护便捷的项目生成器,命名为express-generator(1)。如果你用npm全局安装express-generator,那么你可以从你电脑的任何地方访问到它:
$ npm install -g express-generator
这个工具提供了一种简单的方法来得到一个应用程序框架,但范围有限,例如,它只支持几个模板引擎,而Express自己事实上支持为node建立任何网站框架模板。可通过help查看:
Usage: express [options]Options:
-h, --help output usage information
-V, --version output the version number
-e, --ejs add ejs engine support (defaults to jade)
-H, --hogan add hogan.js engine support
-c, --css add stylesheet support (less|stylus|compass) (defaults to plain css)
-f, --force force on non-empty directory
如果你想生成一个任何情况都支持的应用程序您只需要简单地执行::
$ express --css stylus myapp
create : myapp
create : myapp/package.json
create : myapp/app.js
create : myapp/public
create : myapp/public/javascripts
create : myapp/public/images
create : myapp/public/stylesheets
create : myapp/public/stylesheets/style.styl
create : myapp/routes
create : myapp/routes/index.js
create : myapp/views
create : myapp/views/index.jade
create : myapp/views/layout.jadeinstall dependencies:
$ cd myapp && npm install
run the app:
$ DEBUG=myapp node app
像任何其他node的应用程序,您必须安装以下的依赖关系:
然后让我们开始吧。
$ npm start
这是所有你需要让一个简单的应用程序启动并运行。记住,Express不绑定到任何特定的目录结构,这些只是给你一个指导。应用程序结构的选择可在github库中查看 示例 。
错误处理
错误处理中间件定义就像普通中间件,然而必须定义4个参数数量,这是函数签名(err, req, res, next):
app.use(function(err, req, res, next){
console.error(err.stack);
res.send(500, 'Something broke!');
});
虽然强制的错误处理中间件通常不是定义在最后,但在其他app.use()后,其调用如下所示:
var bodyParser = require('body-parser');
var methodOverride = require('method-override');
app.use(bodyParser());
app.use(methodOverride());
app.use(app.router);
app.use(function(err, req, res, next){
// logic
});
在这些中间件的响应是完全任意的。您可能希望回应一个HTML错误页面,一个简单的消息,一个JSON字符串,或任何其他你喜欢的回应。
为构建有组织的和更高层次的框架,你可以定义几个这些错误处理中间件,就像你会定义普通中间件。例如假设您想为XHR请求定义一个错误处理器,除了这些之外,你可能会做的事如下:









