hapi入门文档
hapi是一个用于构建应用和服务的丰富框架,hapi使得开发者能够更专注于编写可重复使用的应用逻辑,而不是把时间花在搭建基础设施上。
Server
server对象是主应用的容器。server管理着所有启动的连接和框架提供的设施。一个server可以包含一个或一个以上的连接。
创建一个server: new Server([options])
options中有一些可选择的配置选项:
- app 具体的应用配置信息,可以通过server.setttings.app获得。比如: const server = new Hapi.Server({ app:{num:1000}, }); 然后通过server.settings.app可以获得app这个对象(注意app内容必须是对象形式,不能是字符串)
- connections 每个连接都有默认的连接配置信息,这些配置信息都可以通过各自的连接进行设置。
(1)app:具体的应用连接配置信息,可以通过connection.setting.app获得。app提供了一个安全的地方去存储应用的配置信息,不会与框架内部的信息发生冲突.
(2)compression:默认是true,如果设置成false,响应内容编码就会失效。
(3)load:连接加载的限制信息。
(4)plugins:具体的插件配置信息,可以通过connection.setting.plugins获取。提供一个地方去存储和传递插件信息。
(5)router:根据路由表控制请求的路由分配。
- debug 该参数决定哪些记录事件会被送入到console端口。
- load 进程负载监控。
(1)sampleInterval:以毫秒为单位的采样频率
server.properties
(1) server.app
提供一个安全的地方去存储服务器端确定的程序运行时的数据,不会和框架其他数据产生冲突。只要能够获取到服务就能获取到给数据。
(2) server.connection
一个包含服务连接数量的数组。当服务对象是从server.select()返回的,连接数据仅仅包含符合条件匹配的连接。
(3) server.info
当服务只包含一个连接的时候,info对象包含了这个唯一连接的信息。
(4) server.load
一个包含进程加载度量的对象。
(5) server.listener
当服务只包含一个连接,listener是唯一连接的node http 服务对象。
(6) server.methods
一个可以提供访问服务方法的对象。
(7) server.plugins
一个包含被每个注册插件暴露出来的值的对象。
(8) server.mime
提供用于设置内容类型信息的服务端MIME数据库。该对象不能被直接更改,只能通过mime服务设置。