Mit dem Knoten-Inspector kann der Haltepunkt im folgenden node.js-Code nicht festgelegt werden. (Inhalt von main.js
)Kann Haltepunkt innerhalb der Funktion nicht festlegen, wenn require innerhalb von closure verwendet wird
(function() {
require('underscore');
var doSomething = function(callback) {
callback('doSomething Finished');
}
doSomething(function(x) {
console.log(x);
});
}).call(this);
ich leicht einen Haltepunkt auf der Linie 2, Linie 4 oder Linie 8, jedoch unabhängig davon einstellen, wie hart ich den Debugger versuchen werde mich nicht einen Haltepunkt auf der Linie läßt Set 5 oder Linie 9 klar zu sein, habe ich die folgenden Befehle bin mit Knoten-Inspektor laufen
node --debug-brk main.js
node-inspector
ich auch in Web-Sturm zu debuggen versucht jedoch weiterhin besteht das Problem. Wenn ich die Zeile require('underscore');
entferne, verschwindet das Problem sofort und ich bin in der Lage, Breakpoint innerhalb des Funktionskörpers wieder zu setzen. Das Problem verschwindet auch, wenn ich die äußerste Verschlussfunktion entferne. Es scheint, dass die Interaktion zwischen require
und Datei-Level-Schließung die Knoten Debugging-Funktionalität vermasselt. Hat jemand dieses Problem selbst erlebt und/oder kennt keine Problemumgehungen, um innerhalb des Funktionskörpers zu brechen?
EDIT: Meine Knoten js Version
Tony:~ $ node --version
v0.10.12
Tony:~ $
Sie haben hier das requirejs-Tag. Benutzt du requierjs wirklich im Knoten? Wahrscheinlich nicht. –
Ich dachte, Requirejs bietet den 'Require' Aufruf, ist das nicht so? – Tony
Nein, require wird von der nodejs-Laufzeit bereitgestellt. Es ist Teil der CommonJS-Modulspezifikation. –