- 服务器 Server
- server([options])
- Server options
- 服务器属性 Server properties
- server.auth.default(options)
- server.auth.scheme(name, scheme)
- server.auth.strategy(name, scheme, [options])
- await server.auth.test(strategy, request)
- await server.auth.verify(request)
- server.bind(context)
- server.cache(options)
- await server.cache.provision(options)
- server.control(server)
- server.decoder(encoding, decoder)
- server.decorate(type, property, method, [options])
- server.dependency(dependencies, [after])
- server.encoder(encoding, encoder)
- server.event(events)
- await server.events.emit(criteria, data)
- server.events.on(criteria, listener)
- server.events.once(criteria, listener)
- await server.events.once(criteria)
- server.expose(key, value)
- server.expose(obj)
- server.ext(events)
- server.ext(event, method, [options])
- await server.initialize()
- await server.inject(options)
- server.log(tags, [data, [timestamp]])
- server.lookup(id)
- server.match(method, path, [host])
- server.method(name, method, [options])
- server.method(methods)
- server.path(relativeTo)
- await server.register(plugins, [options])
- server.route(route)
- server.rules(processor, [options])
- await server.start()
- server.state(name, [options])
- server.states.add(name, [options])
- await server.states.format(cookies)
- await server.states.parse(header)
- await server.stop([options])
- server.table([host])
- Route options
- route.options.app
- route.options.auth
- route.options.bind
- route.options.cache
- route.options.compression
- route.options.cors
- route.options.description
- route.options.ext
- route.options.files
- route.options.handler
- route.options.id
- route.options.isInternal
- route.options.json
- route.options.jsonp
- route.options.log
- route.options.notes
- route.options.payload
- route.options.plugins
- route.options.pre
- route.options.response
- route.options.rules
- route.options.security
- route.options.state
- route.options.tags
- route.options.timeout
- route.options.validate
- Request lifecycle
- 请求
- 插件
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
插件
插件提供了一种通过将服务器逻辑拆分为更小的组件来组织应用程序代码的方法。 每个插件都可以通过标准服务器接口操作服务器, 但增加了沙箱某些属性的能力。 例如,在一个插件中设置文件路径不会影响另一个插件中设置的文件路径。
插件是具有以下属性的对象:
register
- (required) 注册签名函数async function(server, options)
其中:server
- 具有特定于插件的server.realm
服务器对象.options
- 通过server.register()
在注册期间传递给插件的任何选项。
name
- (必要) 插件名称字符串. 该名称用作唯一键。 已发布的插件(例如,在 npm 中发布)应使用与其 'package.json' 文件中的名称字段相同的名称. 每个应用程序中的名称必须是唯一的。version
- (可选) 插件版本字符串. 该版本仅用于提供信息,以使其他插件能够找到加载的版本. 该版本应与插件的 'package.json' 文件中指定的版本相同。multiple
- (可选) 如果为true
, 允许插件在同一服务器上多次注册。默认为false
。dependencies
- (可选) 一个字符串或一个字符串数组,表示插件依赖项。 与通过server.dependency()
设置依赖相同.once
- (可选) 如果为true
, 每个服务器只会注册一次插件。如果设置,则覆盖传递给server.register()
的once
选项。默认为不覆盖。
const plugin = { name: 'test', version: '1.0.0', register: function (server, options) { server.route({ method: 'GET', path: '/test', handler: function (request, h) { return 'ok'; } }); } };
或者,可以通过 pkg
属性包含 name
和 version
,该属性包含已有名称和版本的 'package.json' 文件中:
const plugin = { pkg: require('./package.json'), register: function (server, options) { server.route({ method: 'GET', path: '/test', handler: function (request, h) { return 'ok'; } }); } };
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论