日期:2014-05-16 浏览次数:20366 次
express是为NodeJS而生的高性能、一流的web开发框架,由于入门指引篇幅较长,本文仅对express框架的安装及配置进行中文翻译,如需原文直接去Express官方网站即可,转载请保留出处,谢谢。 要创建express.HTTPServer的实例,只需简单的调用createServer()方法即可。通过HTTPServer实例app我们可以定义基于HTTP动作(HTTP verbs)的路径映射(routes),下面的示例中我们定义了app.get()。 要初始化一个express.HTTPSServer,与上例相似,不同的是在createServer方法我们传入一个对象作为配置参数,该对象接受 key, cert 和其它在NodeJS https文档中提到的配置参数。 Express支持多工作环境,比如生产环境和开发环境等。开发者可以使用configure()方法根据当前环境的需要进行设置,当configure()没有传入环境名称时,它会在各环境之前被调用(一回注:相当于被各个环境共享)。 下面的示例我们只抛出异常(dumpException),并且在开发模式对异常堆栈的输出做出响应,但是不论对开发或者生产环境我们都使用了methodOverride和bodyParser。特别注意对app.router的使用,它可以被用来设置应用的路径映射(可选),否则首次对app.get()、app.post()等的调用会设置路径映射。 对于内部和多重设置(internal和arbitrary),Express提供了 set(key[, val]), enable(key), disable(key)等方法:安装
$ npm install express
创建服务器
var app = require('express').createServer();
app.get('/', function(req, res){
res.send('hello world from csser.com!');
});
app.listen(3000);
创建HTTPS服务器
var app = require('express').createServer({ key: ... });
配置
// 定义共享环境
app.configure(function(){
app.use(express.methodOverride());
app.use(express.bodyParser());
app.use(app.router);
});
// 定义开发环境
app.configure('development', function(){
app.use(express.static(__dirname + '/public'));
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
// 定义生产环境
app.configure('production', function(){
var oneYear = 31557600000;
app.use(express.static(__dirname + '/public', { maxAge: oneYear }));
app.use(express.errorHandler());
});
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('views');
// => "/absolute/path/to/views"
app.enable('some feature');
// 与 app.set('some feature', true); 相同
app.disable('some feature');
// 与 app.set('some feature', false); 相同
app.enabled('some feature')
// => false
});