节点没有看到模块

时间:2016-02-28 04:47:10

标签: javascript node.js mongoose typescript

我在文件中有以下编译的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'。

1 个答案:

答案 0 :(得分:1)

在User.js中,您没有导出mongoose 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库和&amp;全球图书馆