在JS文件中需要mongoose模式

时间:2017-09-14 18:50:16

标签: javascript node.js mongoose

这是我第一次在StackOverflow上发帖,所以请耐心等待。我一直试图在另一个JS文件中使用我的mongoose模式无济于事。 我的目录如下:

/Project  
    /models
        model.js
    /views
        /admin
            foo.ejs  
    /public
        /js
            foo.js

我的foo.ejs文件使用foo.js文件,该文件需要模型。但是,当我试图要求'它在JS文件中,我的浏览器发回以下错误:

"Uncaught ReferenceError: require is not defined".  

然后我尝试使用' browserify'但也无法使其发挥作用,也不知道如何继续进行。 请提前帮助和感谢!

我的模型的代码是:

var mongoose = require("mongoose");

var categorySchema = new mongoose.Schema({
   name: String,
   series: [
      {
         type: mongoose.Schema.Types.ObjectId,
         ref: "Series"
      }
   ]
});

module.exports = mongoose.model("Category", categorySchema);

在我的JS文件中,我试图像这样要求它:

var Category = require("../../models/categoryMod");

1 个答案:

答案 0 :(得分:0)

因为models.js文件正在导出架构,所以您不需要要求架构的名称,只需要文件的名称。

var Category = require('../../ models / model.js');

“。js”也是可选的,因为您的JavaScript文件会自动查找相同类型的文件。

如果您仍然遇到问题,我会确保您的节点版本是最新的,并验证您的软件包是否已正确安装。 (我假设你正在使用快递?)。