Express 是一個基于 Node.js 平臺的極簡描验、靈活的 web 應用開發(fā)框架,它提供一系列強大的特性坑鱼,幫助你創(chuàng)建各種 Web 和移動設備應用膘流。
Express 不對 Node.js 已有的特性進行二次抽象絮缅,我們只是在它之上擴展了 Web 應用所需的基本功能。
下載
$ npm install express --save
express()
創(chuàng)建一個Express應用呼股。express()是一個express模塊導出的入口函數(shù)耕魄。
var express = require('express');
var app = express();
應用
應用程序?qū)ο笸ǔ1硎究焖賾贸绦颉Mㄟ^調(diào)用頂層express()函數(shù)的表達模塊出口創(chuàng)造它:
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('hello world');
});
app.listen(3000);
性能
app.locals
app.locals對象是一個JavaScript對象彭谁,其性質(zhì)是局部變量的應用吸奴。
app.locals.title
// => 'My App'
app.locals.email
// => 'me@myapp.com'
一旦設置,對app.locals屬性值持續(xù)貫穿在生活中的應用缠局,在res.locals性質(zhì)则奥,只為請求的壽命是有效的對比。
您可以訪問應用程序中呈現(xiàn)的模板中的本地變量狭园。這對于為模板提供助手函數(shù)以及應用程序級數(shù)據(jù)非常有用读处。但是請注意,您不能訪問中間件中的本地變量唱矛。
app.locals.title = 'My App';
app.locals.strftime = require('strftime');
app.locals.email = 'me@myapp.com';
app.mountpath
pp.mountpath屬性是路徑模式(S)的子應用程序安裝罚舱。
子應用程序是一個Express實例,可用于處理對路由的請求绎谦。
var express = require('express');
var app = express(); // the main app
var admin = express(); // the sub app
admin.get('/', function (req, res) {
console.log(admin.mountpath); // /admin
res.send('Admin Homepage');
})
app.use('/admin', admin); // mount the sub app
事件——Events
app.on('mount', callback(parent))
掛載事件在子應用程序上被觸發(fā)管闷,當它安裝在父應用程序時。父應用程序被傳遞到回調(diào)函數(shù)窃肠。
admin.on('mount', function (parent) {
console.log('Admin Mounted');
console.log(parent); // refers to the parent app
});
admin.get('/', function (req, res) {
res.send('Admin Homepage');
});
app.use('/admin', admin);
方法——Methods
1.app.all(path, callback [, callback ...])
method()方法包个,除了它匹配所有的HTTP動詞。
2.app.delete(path, callback [, callback ...])
使用指定的回調(diào)函數(shù)將HTTP刪除請求路由到指定的路徑铭拧。
3.app.disable(name)
將布爾設置名稱設置為false赃蛛,其中name是應用程序設置表中的一個屬性。表示禁用搀菩。
4.app.enable(name)
將布爾設置名稱設置為true呕臂,其中name是應用程序設置表中的一個屬性。
5.app.engine(ext, callback)
寄存器給出的模板引擎回調(diào)作為分機肪跋。
6.app.get(name)
返回名稱應用程序設置的值歧蒋,其中name是應用程序設置表中的字符串之一
7.app.get(path, callback [, callback ...])
使用指定的回調(diào)函數(shù)將HTTP請求路由到指定的路徑。
8.app.listen(port, [hostname], [backlog], [callback])
綁定并偵聽指定主機和端口上的連接州既。
9.app.METHOD(path, callback [, callback ...])
路由HTTP請求谜洽,其中方法是請求的HTTP方法,如get吴叶、get阐虚、POST、put等蚌卤,小寫实束。
10.app.param([name], callback)
將回調(diào)觸發(fā)器添加到路由參數(shù)中奥秆,其中name是參數(shù)的名稱或數(shù)組的名稱,函數(shù)是回調(diào)函數(shù)咸灿。
11.app.path()
返回應用程序的規(guī)范路徑(字符串)构订。
12.app.render(view, [locals], callback)
通過回調(diào)函數(shù)返回視圖的呈現(xiàn)HTML。它接受一個可選參數(shù)避矢,該參數(shù)是一個包含視圖的局部變量的對象悼瘾。
13.app.route(path)
route()避免重復路線名稱。
14.app.set(name, value)
將設置名稱賦給值审胸,其中name是應用程序設置表中的一個屬性亥宿。
15.app.use([path,] function [, function...])
在路徑上安裝中間件函數(shù)。如果未指定路徑歹嘹,則默認為“/”箩绍。