我有一个用node.js编写的简单应用程序:
var mongo = require('./helpers/mongo_utils.js'); var express = require('express'); var user = require('./models/users.js'); mongo.connect(function (err) { if (err) throw err; console.log('connected'); var app = express(); app.listen(3000,function () { console.log('Server set up and start listening on port 3000'); }) })
所有工作除了我需要users.js文件.如果我不需要它我没有问题,但是当我这样做时,我得到这个错误:
assert.js:89 throw new assert.AssertionError({ ^ AssertionError: missing path at Module.require (module.js:363:3) at require (module.js:384:17) at Object.<anonymous> (/home/jimzer--jimzer/www/NodeJsForum/models/users.js:1:79) at Module._compile (module.js:434:26) at Object.Module._extensions..js (module.js:452:10) at Module.load (module.js:355:32) at Function.Module._load (module.js:310:12) at Module.require (module.js:365:17) at require (module.js:384:17) at Object.<anonymous> (/home/jimzer--jimzer/www/NodeJsForum/app.js:3:12)
这是users.js的代码,如果它可以帮助:
var mongo = require('') = ('./../helpers/mongo_utils.js'); var mailValid = require('./../helpers/email_valid.js'); var db = mongo.getDb(); var User = function (pseudo,psw,mail,level,callback) { // Params checking if (!(pseudo && psw && mail && (level != 'undefined'))) { err = new Error("All fields aren't specified"); err.code = 0; return callback(err); } // Mail validation if (!mailValid(mail)) { err = new Error("Mail adress isn't valid"); err.code = 1; return callback(err); } db.users.findOne({mail: mail},function (err,doc) { if (err) throw err; if (doc) { err = new Error("Mail adress already used"); err.code = 1; return callback(err); } }); // Pseudo if (!(pseudo.length > 0 && pseudo.length < 20)) { err = new Error("Pseudo length invalid"); err.code = 2; return callback(err); } db.getDb.users.findOne({_id: pseudo},doc) { if (err) throw err; if (doc) { err = new Error("pseudo déja utilisé"); err.code = 2; return callback(err); } }); // Psw validation if (!(psw instanceof String)) { err = new Error("Password invalid"); err.code = 3; return callback(err); } // Level validation if (!(lvl > 0 && lvl < 10)) { err = new Error("Access level invalid"); err.code = 4; return callback(err); } // If all test are OK,we construct and instance of User and pass it to the callback else { this.pseudo = pseudo; this.psw = psw; this.mail = mail; this.date = Date.now(); this.lvl = lvl; return callback(null,this); } } module.exports = User;
解决方法
阅读stacktrace:
at Object.<anonymous> (/home/jimzer--jimzer/www/NodeJsForum/models/users.js:1:79)
这是错的:
var mongo = require('') = ('./../helpers/mongo_utils.js');
不确定你想要实现什么,但应该是这样:
var mongo = ('./../helpers/mongo_utils.js');