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.qs
configuration option. -
Removes the route
payload.qs
configuration option. -
Removes the
parserOptions
argument 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.auth
changed to movescope
andentity
inside a newaccess
array. -
When using
server.inject()
, any HTTP trailers are no longer included inres.headers
but instead are provided underres.trailers
to be consistent with node. -
Removed
request.session
andrequest.auth.session
placeholders (was set tonull
before).
新特性:
-
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
pendingGenerateTimeout
cache option for reducing calls to the generate method while another is already pending. -
Return a
Promise
when acallback
is not provided. -
Expose CORS origin match status in
request.info.cors.isOriginMatch
. -
Expose entire
request.auth
object in validation context.
詳細改進內容請看發行說明。