Node.js 服务端框架,​Hapi.js 12.0.0 发布

admin 9年前

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 the request.setUrl() method.

  • Authentication scope strings cannot begin with ! or + as those prefix characters now have a special meaning.

  • request.route (the route public interfacesettings.auth changed to move scope andentity inside a new access array.

  • When using server.inject(), any HTTP trailers are no longer included in res.headersbut instead are provided under res.trailers to be consistent with node.

  • Removed request.session and request.auth.session placeholders (was set to nullbefore).

新特性:

  • 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 a callback is not provided.

  • Expose CORS origin match status in request.info.cors.isOriginMatch.

  • Expose entire request.auth object in validation context.

详细改进内容请看发行说明