如何访问Hapi插件设置的RethinkDB上下文?

时间:2016-04-20 19:24:50

标签: rethinkdb hapijs

根据这个Hapi JS插件的documentation,RethinkDB库和连接绑定到this.rethinkdbthis.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
   }

 }

0 个答案:

没有答案