节点JS需要抛出AssertionError:缺lesspath

我被困在一个问题几个小时,但无法find它。 我有一个简单的应用程序写入节点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}, function (err, 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; 

阅读堆栈跟踪:

 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'); 

你忘记引号expressionstring。 尝试改变这一行:

 var express = require(express); 

为以下一个:

 var express = require('express'); 

看看它是否解决了这个问题。

错误是由于传递require任何不真实的值。

  var sinon = require(sinon); 

我的意思是…

 var sinon = require('sinon');