我正在使用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)
答案 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目录中有一个不包含此方法的文件,它将产生此错误。在我的情况下,我暂时将该目录中的代码注释掉以准备删除。