2015-10-02 2 views
5

私は数時間問題に固執していますが、それを見つけることはできません。 私は、ノードのJSで簡単なアプリケーションの書き込みをしました:ノードJSスローを要求するAssertionError:パスが紛失

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; 
+0

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

答えて

2

は、スタックトレースを読む:

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

ありがとう、私は持っていると思うどこからでも正しい場所を探して混乱しました。そのばかげたエラー! Tahnkあなた、いい夜を(または日) – JimZer

0

エラーは、requireの値を渡すことによって発生します。私は本当に何を意味するのか

var sinon = require(sinon); 

...

var sinon = require('sinon'); 
8

あなたはの周りに引用符を忘れては文字列を表現します。以下のいずれかの

var express = require(express); 

var express = require('express'); 

、それは問題を修正かどうかを確認し、この行を変更してみてください。