Express 文檔(express())

express()

建立一個Express應用程序,express()函數是express模塊​​導出的頂級函數。html

var express = require('express');
var app = express();

方法

express.json([options])

此中間件在Express v4.16.0及更高版本中可用。

這是Express中的內置中間件函數,它使用JSON有效負載解析傳入的請求,並基於body-parserexpress

返回僅解析JSON的中間件,並僅查看Content-Type header與type選項匹配的請求,此解析器接受body的任何​​Unicode編碼,並支持gzip的自動解壓和deflate編碼。npm

在中間件(即req.body)以後的request對象上填充包含已解析數據的新body對象,或若是沒有要解析的body則爲空對象({})、Content-Type不匹配、或發生錯誤。json

因爲 req.body的形狀基於用戶控制的輸入,所以該對象中的全部屬性和值都是不可信的,應該在信任以前進行驗證。例如, req.body.foo.toString()可能以多種方式失敗,例如 foo可能不存在或者可能不是字符串,而 toString可能不是函數,而是字符串或其餘用戶輸入。

下表描述了可選options對象的屬性。數組

屬性 描述 類型 默認
inflate 啓用或禁用處理壓縮的body,禁用時,壓縮的body會被拒絕。 Boolean true
limit 控制最大請求體大小,若是這是一個數字,則該值指定字節數;
若是是字符串,則將值傳遞給bytes庫以進行解析;
混合 "100kb"
reviver reviver選項做爲第二個參數直接傳遞給JSON.parse
你能夠在有關JSON.parse的MDN文檔中找到有關此參數的更多信息;
函數 null
strict 啓用或禁用僅接受數組和對象;
禁用時將接受JSON.parse接受的任何內容;
Boolean true
type 這用於肯定中間件將解析的媒體類型;
此選項能夠是字符串、字符串數組或函數;
若是不是函數,則將type選項直接傳遞給type-is庫,
這能夠是擴展名(如json)、mime類型(如application/json),
或帶有通配符的mime類型(如*/**/json);
若是是函數,則將type選項做爲fn(req)調用,
若是返回truthy值,則解析請求
混合 "application/json"
verify 此選項(若是提供)稱爲verify(req, res, buf, encoding)
其中buf是原始請求體的Buffer
encoding是請求的編碼,能夠經過拋出錯誤來停止解析。
函數 undefined

express.static(root, [options])

這是Express中的內置中間件函數,它提供靜態文件,基於serve-static緩存

注意:爲得到最佳結果,請使用反向代理緩存來提升服務靜態資源的性能。

root參數指定從中提供靜態資源的根目錄,該函數經過將req.url與提供的root目錄相結合來肯定要提供的文件。當找不到文件時,它不是發送404響應,而是調用next()繼續下一個中間件,容許堆疊和回退。app

下表描述了options對象的屬性,另請參見下面的示例。函數

屬性 描述 類型 默認
dotfiles 肯定如何處理dotfiles(以點「.」開頭的文件或目錄);
請參閱下面的dotfiles
String 「ignore」
etag 啓用或禁用etag生成,注意:express.static老是發送弱ETag Boolean true
extensions 設置文件擴展名回退:若是找不到文件,
搜索具備指定擴展名的文件並提供找到的第一個文件;
例如:['html', 'htm']
混合 false
相關文章
相關標籤/搜索