2016-02-28 52 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