节点没有看到模块
问题描述:
我在文件中的下列编译打字稿类: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'。
答
在user.js的你是不是出口猫鼬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
库&全局库
太谢谢你了。标记为正确的答案。 – barakisbrown