当我尝试要求我的javascript文件时,找不到模块'models / PermissionModel'错误

时间:2015-10-20 16:28:31

标签: javascript node.js mongoose

我在节点服务器项目下创建了一个名为models的文件夹 在其中包含一个名为PermissionModel.js的JavaScript文件

   var express = require('express');
var mongoose = require('mongoose');
var Schema=mongoose.Schema,
Objectid=Schema.Objectid;

var permissionSchema=new mongoose.Schema({
        docType:'string',
        permission:'array'

});
var PermissionModel=mongoose.model('permission',permissionSchema);

module.exports=PermissionModel;

然后我尝试在server.js文件中导入它

var PermissionModel=require('models/PermissionModel');

尝试运行我的节点项目时发生此错误

Cannot find module 'models/PermissionModel'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/home/sankha/Documents/Projects/HealthApp/blu_kross_server/server.js:4:21)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:902:3

请帮我解决这个问题 非常感谢你!

2 个答案:

答案 0 :(得分:3)

将您的需求行更改为:

var PermissionModel=require('./models/PermissionModel');

如果未将.放在模型之前,Node将仅在node_modules文件夹中查找模块。

有关详细信息,请阅读节点文档,您也可以询问Google并找到this

答案 1 :(得分:0)

在models目录中创建一个文件 index.js 然后在index.js文件中导出PermissionModel.js

exports.PermissionModel = require(&#39; ./ PermissionModel&#39;);

server.js 内的

导入整个目录,如下所示

var PermissionModel = require(&#39; ./ models&#39;);