2016-02-28 53 views
0

我在文件中的下列編譯打字稿類:user.js的節點沒有看到模塊

"use strict"; 
var mongo = require('mongoose'); 
var User = (function() { 
    function User(data) { 
     this.Name = data.name; 
     this.City = data.city; 
     this.State = data.state; 
    } 
    User.prototype.nameUpperCase = function() { 
     return this.Name.toUpperCase(); 
    }; 
    return User; 
}()); 
exports.User = User; 
var schema = new mongo.Schema({ 
    Name: String, 
    City: String, 
    State: String 
}); 
schema.method('nameUpperCase', User.prototype.nameUpperCase); 
var Users = mongo.model('User', schema); 

usertest.js內容:

require('User.js'); <-- no matter what I put here 

var u1 = new Users({Name: 'Matthew Brown', City:'Austin',State:'TX'}); 
var u2 = new Users({Name: 'Jonathan Andrews', City:'Georgetown',State:'TX'}); 
var u3 = new Users({Name: 'Mom(Rose Brown)', City:'Holiday Island',State:'AR'}); 
var u4 = new Users({Name: 'Ditto(Bill Brown Jr.)', City:'Charlton',State:'MA'}); 

Users.create(u1,function(err, u1) { 
    if (err) { 
     console.log(err); 
    } else { 
     console.log("User %s created",u1.Name); 
    } 
}); 
Users.create(u2,function(err, u2) { 
    if (err) { 
     console.log(err); 
    } else { 
     console.log("User %s created",u2.Name); 
    } 

}); 
Users.create(u3,function(err, u3) { 
    if (err) { 
     console.log(err); 
    } else { 
     console.log("User %s created",u3.Name); 
    } 
}); 
Users.create(u4,function(err, u4) { 
    if (err) { 
     console.log(err); 
    } else { 
     console.log("User %s created",u4.Name); 
    } 
}); 

我已經試過一切,我一直從收到錯誤節點說它找不到'User'或以上的模塊,它會說它找不到'User.js'。

回答

1

在user.js的你是不是出口貓鼬User型號

變化

var Users = mongo.model('User', schema); 

exports.Users = mongo.model('User', schema); 

而且在usertest.jsUsers沒有在任何地方定義

變化

require('User.js'); 

var Users = require('./User.js').Users; // check for relative path here 

現在

找不到 'user.js的'

是因爲你不設置相對路徑。

您可以在不相對路徑是指node_modules文件夾庫,內置node.js庫&全局庫

+0

太謝謝你了。標記爲正確的答案。 – barakisbrown