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 interface) settings.auth changed to move scope and entity inside a new access array. When using server.inject(), any HTTP trailers are no longer included in res.headers but instead are provided under res.trailers to be consistent with node. Removed request.session and request.auth.session placeholders (was set to null before). 新特性: Allow passing a pre-processed URL object (from node's URL parse()) to request.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. 详细改进内容请看发行说明。 Hapi.js 12.0.0 发布,Node.js 服务端框架下载地址