0

このエラーが発生しました:

/home/user/node_modules/ldapjs/lib/server.js:65
throw new TypeError('Invalid argument type: ' + typeof (argv[i]));
        ^
TypeError: Invalid argument type: undefined
at mergeFunctionArgs (/home/user/node_modules/ldapjs/lib/server.js:65:13)
at Server._mount (/home/user/node_modules/ldapjs/lib/server.js:814:35)
at Server.add (/home/user/node_modules/ldapjs/lib/server.js:500:15)
at Object.<anonymous> (/home/user/workspace/ldap/ldap.js:34:8)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
at process.startup.processNextTick.process._tickCallback (node.js:244:9)

ldapjsガイドでテストを実行しようとしたとき。

このエラーは、サービスが開始されないため、それ以上のテストの実行をほとんどブロックします。

4

2 に答える 2

1

pre関数の配列が割り当てられる前に(つまり、その時点で)ldapjsに渡していundefinedます。変数と関数の宣言は一番上に上げられますが、割り当てはそうではありません。

これを動かす

133. var pre = [authorize, loadPasswdFile];

一番上に、または少なくともldapjsに渡す前に。

割り当ては現在133行目で行われていますが、34行目ですでに渡されています。

34. server.add('ou=users, o=myhost', pre, function(req, res, next) 

ところで、コードの先頭でこれを設定することで、エラーがどこから発生したかをよりよく確認できるはずです。

Error.stackTraceLimit = Infinity;
于 2012-11-08T11:33:21.450 に答える
0

私の「解決策」は、行全体を一緒にコメントアウトすることでした。それを修正するのは確かに正しい方法ではありませんが、少なくともサービスはその時点で開始されます。

于 2012-11-07T07:50:13.640 に答える