我对整个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中输入文件的绝对位置并得到相同的错误,所以我必须在其他地方失败。
提前致谢
答案 0 :(得分:-1)
路径是相对于文件的,而不是项目根目录。例如,在您的控制器中,您应该使用'../models/user.js'
:
var UserModel = require('../models/user.js');