Express.js 中文入門指引手冊

    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 csser.com!'); }); 

app.listen(3000);

創建 HTTPS 服務器

要初始化一個express.HTTPSServer實例,與上例相似,不同的是在createServer方法我們傳入一個對象作爲配置參數,該對象接受 key, cert 和其它在NodeJS https文檔中提到的配置參數。

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

 配置

Express支持多工作環境,比如生產環境開發環境等。開發者可以使用configure()方法根據當前環境的需要進行設置,當configure()沒有傳入環境名稱時,它會在各環境之前被調用(一回注:相當於被各個明確環境所共享)。

下面的示例我們只拋出異常(dumpException),並且在開發模式對異常堆棧的輸出做出響應,但是不論對開發或者生產環境我們都使用了methodOverridebodyParser。特別注意對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 支持以下設置項:

  • home爲res.redirect()提供應用的基準路徑,透明的處理已安裝的應用。
  • views視圖(views)層的根目錄,默認指向CWD/views
  • view engine默認的視圖(view)引擎的名字,不包含擴展名。
  • view options用於設置全局視圖選項的對象


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章