根据这个Hapi JS插件的documentation,RethinkDB库和连接绑定到this.rethinkdb
和this.rethinkdbConn
上的处理程序内的服务器上下文。
但是,我无法访问那些,只能使用request.server.plugins
等。有谁知道为什么?是因为在server.bind()
插件中设置的上下文仅在插件本身内可用吗?谢谢!
编辑: 这是index.js上的一些代码
const plugins = [{register: require('hapi-rethinkdb'), options: {url: //url here}]
server.register(plugins, () => {
server.route(require('./routes'))
server.start()
})
on routes.js,假设有一条这样的路线:
{
method: 'GET',
path: '/list-of-things',
handler: function(request, reply) {
// I have to use it like this:
const r = request.server.plugins['hapi-rethinkdb'].rethinkdb;
const connection = request.server.plugins['hapi-rethinkdb'].connection;
// Because this throws undefined:
const r = this.rethinkdb;
const connection = this.rethinkdbConn
}
}