无法在路径文件hapijs中找到控制器

时间:2015-05-15 10:02:05

标签: javascript node.js 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;

我从控制台获取的错误是"找不到模块./src/controllers/usersController.js"。我甚至试图在require中输入文件的绝对位置并得到相同的错误,所以我必须在其他地方失败。

提前致谢

1 个答案:

答案 0 :(得分:-1)

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

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