Node.js 服務端框架,?Hapi.js 12.0.0 發布
Hapi.js 是一個用來構建基于 Node.js 的應用和服務的富框架,使得開發者把重點放在便攜可重用的應用邏輯而不是構建架構。內建輸入驗證、緩存、認證和其他 Web 應用開發常用的功能。
hapi v12.0.0 主要移除了 qs 模塊的框架依賴。qs 是一個 URL 查詢字符串解析器,支持特定的復雜結構。此版本最大的貢獻者是 Sideway。
非兼容改進:
-
Removed support for the processing of special form-encoded key=value pairs in query strings, form-encoded payloads, and multipart field names.
-
Removes the connection
query.qsconfiguration option. -
Removes the route
payload.qsconfiguration option. -
Removes the
parserOptionsargument from therequest.setUrl()method. -
Authentication scope strings cannot begin with
!or+as those prefix characters now have a special meaning. -
request.route(the route public interface)settings.authchanged to movescopeandentityinside a newaccessarray. -
When using
server.inject(), any HTTP trailers are no longer included inres.headersbut instead are provided underres.trailersto be consistent with node. -
Removed
request.sessionandrequest.auth.sessionplaceholders (was set tonullbefore).
新特性:
-
Allow passing a pre-processed URL object (from node's URL
parse()) torequest.setUrl(). -
Support new required and forbidden authentication scopes.
-
Allow specifying multiple scope/entity sets for a single endpoint.
-
New
pendingGenerateTimeoutcache option for reducing calls to the generate method while another is already pending. -
Return a
Promisewhen acallbackis not provided. -
Expose CORS origin match status in
request.info.cors.isOriginMatch. -
Expose entire
request.authobject in validation context.
詳細改進內容請看發行說明。