我在文件中有以下编译的typescript类: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'。
答案 0 :(得分:1)
在User.js中,您没有导出mongoose User
模型
更改
var Users = mongo.model('User', schema);
到
exports.Users = mongo.model('User', schema);
同样在usertest.js
,Users
未定义任何地方
更改
require('User.js');
到
var Users = require('./User.js').Users; // check for relative path here
现在
找不到'User.js'
是因为您没有设置相对路径。
您可以在没有相对路径的情况下参考node_modules
文件夹库,内置node.js
库和&amp;全球图书馆