Node JS Require AssertionError Throw: Missing Path

I have been stuck in a problem for several hours, but cannot figure it out. I just wrote an application in 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'); }) }) 

Everything works, unless the users.js file is required. If I do not require this, I have no problem, but when I do this, I got this error:

 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) 

If someone can help me, that will be great !!

Here is user.js code if it can help:

 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; 
+5
source share
3 answers

Read stacktrace:

 at Object.<anonymous> (/home/jimzer--jimzer/www/NodeJsForum/models/users.js:1:79) 

It is not right:

 var mongo = require('') = ('./../helpers/mongo_utils.js'); 

Not sure what you are trying to achieve, but should probably be as follows:

 var mongo = ('./../helpers/mongo_utils.js'); 
+2
source

You forget the quotation marks around the express line. Try changing this line:

 var express = require(express); 

for the following:

 var express = require('express'); 

and check if the problem is fixed.

+8
source

The error is caused by passing require any untruth value.

  var sinon = require(sinon); 

what did I really mean ...

 var sinon = require('sinon'); 
0
source

Source: https://habr.com/ru/post/1232842/


All Articles