错误:uncaughtException:require(...)。invokeRolesPolicies不是函数

时间:2016-06-18 07:48:47

标签: node.js mean meanjs

我正在使用MEAN.JS开发一个网络应用程序,但由于某些原因我做了一些更改后,大部分复制并将新模块粘贴到应用程序中我看到错误如下:

  

错误:uncaughtException:require(...)。invokeRolesPolicies不是函数

我不知道为什么会发生这种情况,任何人都有任何线索如何解决这个问题?

这是整个错误消息:

  

TypeError:require(...)。invokeRolesPolicies不是函数       在C:\ oferdo \ oferdo \ config \ lib \ express.js:180:39       at Array.forEach(native)       at Object.module.exports.initModulesServerPolicies(C:\ oferdo \ oferdo \ config \ lib \ express.js:179:32)       在Object.module.exports.init(C:\ oferdo \ oferdo \ config \ lib \ express.js:252:8)       在C:\ oferdo \ oferdo \ config \ lib \ app.js:29:23       在C:\ oferdo \ oferdo \ config \ lib \ mongoose.js:36:15       在C:\ oferdo \ oferdo \ node_modules \ mongoose \ lib \ connection.js:284:19       在open(C:\ oferdo \ oferdo \ node_modules \ mongoose \ lib \ connection.js:511:17)       在C:\ oferdo \ oferdo \ node_modules \ mongoose \ lib \ connection.js:518:7       在C:\ oferdo \ oferdo \ node_modules \ mongoose \ node_modules \ mongodb \ lib \ db.js:1504:5       在handleCallback(C:\ oferdo \ oferdo \ node_modules \ mongoose \ node_modules \ mongodb \ lib \ utils.js:96:12)       at _callback(C:\ oferdo \ oferdo \ node_modules \ mongoose \ node_modules \ mongodb \ lib \ db.js:1420:5)       在C:\ oferdo \ oferdo \ node_modules \ mongoose \ node_modules \ mongodb \ lib \ db.js:1463:7       在C:\ oferdo \ oferdo \ node_modules \ mongoose \ node_modules \ mongodb \ node_modules \ mongodb-core \ lib \ topologies \ server.js:1416:5       在结束时(C:\ oferdo \ oferdo \ node_modules \ mongoose \ node_modules \ mongodb \ node_modules \ mongodb-core \ lib \ auth \ scram.js:157:16)       at handleEnd(C:\ oferdo \ oferdo \ node_modules \ mongoose \ node_modules \ mongodb \ node_modules \ mongodb-core \ lib \ auth \ scram.js:170:7)       在C:\ oferdo \ oferdo \ node_modules \ mongoose \ node_modules \ mongodb \ node_modules \ mongodb-core \ lib \ auth \ scram.js:264:17       at commandCallback(C:\ oferdo \ oferdo \ node_modules \ mongoose \ node_modules \ mongodb \ node_modules \ mongodb-core \ lib \ topologies \ server.js:1194:9)       在Callbacks.emit(C:\ oferdo \ oferdo \ node_modules \ mongoose \ node_modules \ mongodb \ node_modules \ mongodb-core \ lib \ topologies \ server.js:119:3)       at null.messageHandler(C:\ oferdo \ oferdo \ node_modules \ mongoose \ node_modules \ mongodb \ node_modules \ mongodb-core \ lib \ topologies \ server.js:358:23)       在Socket。 (C:\ oferdo \ oferdo \ node_modules \猫鼬\ node_modules \ mongodb的\ node_modules \ mongodb的核\ lib中\连接\ connection.js:292:22)       在emitOne(events.js:77:13)       在Socket.emit(events.js:169:7)       在readableAddChunk(_stream_readable.js:153:18)       在Socket.Readable.push(_stream_readable.js:111:10)       在TCP.onread(net.js:531:20)

2 个答案:

答案 0 :(得分:1)

实际上,这与错误命名的文件无关。

您需要确保在策略文件中定义了invokeRolesPolicies函数。最低要求是:

'use strict';

var acl = require('acl');
acl = new acl(new acl.memoryBackend());

exports.invokeRolesPolicies = function () {};

原因是mean.js中定义的express.js lib假设已设置,并尝试调用它,因此错误。

答案 1 :(得分:0)

如果模块服务器下的文件名称错误,则会出现此错误>策略目录,因此请检查是否有任何不一致的命名文件。

修改

我现在看到它不是文件的命名,但是如果您在policies目录中有一个不包含此方法的文件,它将产生此错误。在我的情况下,我暂时将该目录中的代码注释掉以准备删除。