Javascript HapiJS-在路线中放置控制器

Javascript HapiJS-在路线中放置控制器,javascript,node.js,hapijs,Javascript,Node.js,Hapijs,Hapi对我来说是新事物,事实上我正在努力为我的项目创建一个好的结构 我有一个文件:routes/catalogs.js "use strict"; const Boom = require('boom'); const uuid = require('node-uuid'); const Joi = require('joi'); exports.register = function(server, options, next) { server.route({ method: 'G

Hapi对我来说是新事物,事实上我正在努力为我的项目创建一个好的结构

我有一个文件:routes/catalogs.js

"use strict";
const Boom = require('boom');
const uuid = require('node-uuid');
const Joi = require('joi');
exports.register = function(server, options, next) {
server.route({
    method: 'GET',
    path: '/catalogs',
    handler: function(request, reply) {
        var catalogs = server.app.mongodb.collection('catalogs');
        catalogs.find({}).toArray(function(err, docs) {
             reply(docs);
        });
    }
});
return next();
};
exports.register.attributes = {
name: 'routes-notifications'
}
但是,为了路由,我将所有代码放在同一个文件中,我想将执行所有数据库任务的代码放在控制器中,类似于:

但我真的不明白怎么做,可能是因为在这个例子中,数据库的libs非常不同,这让我很困惑。有人能帮我把我的控件转换成与config:{handler:'一起使用吗


ty!

如果你看这个,它展示了如何打破添加到hapi路由的mongodb处理程序。这个模块的目的是从json模式生成数据模型和方法。

稍后评论,但我希望它能帮助其他人寻找解决方案。下面是一篇文章,给出了在hapi中实现控制器的示例: