读书人

Express.js 汉语言入门指引手册

发布时间: 2012-12-25 16:18:28 作者: rapoo

Express.js 中文入门指引手册

Express?是基于?Node.js,高性能、一流的web开发框架。

express 的安装
$ npm install express

或者

$ npm install -g express
创建服务器

要创建 express.HTTPServer 的实例,只需简单的调用?createServer()?方法即可。通过 HTTPServer 实例 app 我们可以定义基于 HTTP 动作(HTTP verbs)的路由(routes),本例中为?app.get()

var app = require('express').createServer();app.get('/', function(req, res){  res.send('hello world from justjavac.com!');});app.listen(3000);
创建 HTTPS 服务器

要初始化一个express.HTTPSServer实例,与上例相似,不同的是在createServer方法我们传入一个对象作为配置参数,该对象接受 key, cert 和其它在NodeJS https文档中提到的配置参数。

var app = require('express').createServer({ key: ... });
配置

Express支持多工作环境,比如生产环境和开发环境等。开发者可以使用?configure()?方法根据当前环境的需要进行设置, 当configure()没有传入环境名称时,它会在各环境之前被调用(注:相当于被各个明确环境所共享)。

下面的示例我们只抛出异常(dumpException),并且在开发模式对异常堆栈的输出做出响应, 但是不论对开发或者生产环境我们都使用了methodOverride和bodyParser。

特别注意对app.router的使用,它可以被用来设置应用的路由(可选), 否则首次对app.get()、app.post()等的调用会设置路由。

// 定义共享环境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());});

对于内部和多重设置(internal和arbitrary),Express提供了 set(key[, val]), enable(key), disable(key)等方法:

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});

要修改环境,可以通过设置NODE_ENV环境变量来实现,例如:

$ NODE_ENV=production node app.js

这很重要,因为许多的缓存机制只有在生产环境才会启用。

设置

Express 支持以下设置项:

读书人网 >JavaScript

热点推荐