在路由文件 hapijs 中找不到控制器

Can't find controller in routes file hapijs

我对整个 Nodejs 世界还很陌生,我正在尝试使用 Hapi.js 创建一个简单的应用程序,让我自己从这里开始。无论如何,我已经通过这种方式设置了我的路由文件:

var usersController = require("./src/controllers/usersController.js");
exports.register = function(server, options, next) {
    server.route([  
        {
            method: 'POST',
            path: '/register',
            handler: usersController.register
        }, 
    ]);
    next();
};

exports.register.attributes = {
    name: 'routes',
    version: '0.0.1'
};

然后我有我的控制器

var Hapi = require('hapi');
var UserModel = require('./src/models/user.js');


function UsersController(){};
UsersController.prototype = (function(){

return {
    register: function register(request, reply) {
        var newUser = User({
          name: request.params.name,
          username: request.params.username,
          password: request.params.password
        });

        newUser.save(function(err){
            if (err) throw err;

            console.log("You created a user, bruh"); 
        })

    },
}
})();

var usersController = new UsersController();
module.exports = usersController;

我从控制台得到的错误是 "Cannot find module ./src/controllers/usersController.js"。我什至试图在 require 中输入文件的绝对位置并得到同样的错误,所以我一定是在其他地方失败了。

提前致谢

路径是相对于文件的,而不是相对于项目根目录的。因此,例如在您的控制器中,您应该使用 '../models/user.js':

var UserModel = require('../models/user.js');