2014-05-01 17 views
5

Ich versuche herauszufinden, was ist falsch mit meinen Sitzungen (mit express-session), und ich fand, dass es die debug module verwendet. Ich kann jedoch anscheinend die Debug-Nachrichten nicht aktivieren. Es besagt, dass das Debugging über die Umgebungsvariable DEBUG aktiviert werden muss, aber ich kann es scheinbar nicht zum Laufen bringen.Wie wird Nodes Debug-Modul (Windows) verwendet?

Das Tutorial in der Readme hat dieses Bild:

enter image description here

Unter Windows bekomme ich "DEBUG keinen Befehl für die Befehlszeile ist". So

Ich habe versucht, die Umgebungsvariable explizit mit:

process.env.DEBUG = "*";

und immer noch nichts.

Was mache ich falsch?

+0

'DEBUG = * node app' funktioniert in der Befehlszeile: Es wird zunächst eine env-Variable gesetzt, und der Befehl wird ausgeführt. Hast du es versucht? –

+0

@TravelingTechGuy In Windows sagt es mir, dass 'DEBUG' kein Befehl ist. Aber jetzt habe ich es mit MSYS versucht und es funktioniert. Ich vergesse immer wieder, dass die systemabhängige Dokumentation von Node in der Regel auf Nix-Systeme zugeschnitten ist. – Domi

+3

stimme über die Dokumentation überein, die sich nicht wirklich um Windows kümmert. Versuchen Sie es mit dem Befehl 'set', wie in' set DEBUG = * & node app' –

Antwort

6

Wie Traveling Tech Guy vorgeschlagen im Kommentar, in einer Windows-Eingabeaufforderung, die richtige Syntax:

set DEBUG=* & npm start 

Natürlich können Sie ersetzen npm start mit dem, was befehlen müssen Sie Ihre Node.js App starten. Stellen Sie sicher, dass Sie den Befehl set verwenden und vergessen Sie nicht die & zwischen diesem Befehl und dem, der Ihre Node.js App startet!

+0

Die offizielle Dokumentation enthält jetzt auch eine [Anmerkung für Windows] (https: //github.com/visionmedia/debug#windows-note), was darauf hindeutet, dass Sie einfach 'set' verwenden und anschließend' node' ausführen. Vielen Dank! – Domi

+0

Ich habe ein ähnliches Problem auf OSX, wenn ich die DEBUG = Zeile auf meinem Knoten Startbefehl alles funktioniert. ID möchte die process.env.DEBUG-Funktion verwenden, um die Benutzerfreundlichkeit zu erhöhen. Dies wird jedoch nicht vom Debug-Modul übernommen. Ich habe die Var überprüft und es ist richtig eingestellt. – Joel

+0

@Joel Wenn Sie versuchen, Felder auf 'process.env' manuell zu setzen, wundere ich mich nicht, dass es nicht funktioniert. 'process.env' ist als Schnittstelle für den Zugriff auf Umgebungsvariablen gedacht. Wenn Sie also das' DEBUG = 'Bit vor dem Ausführen der Knoten-App nicht einfügen möchten, setzen Sie einfach die Umgebungsvariable. Beispiel: 'export DEBUG = express *' –

3

Zunächst müssen Sie die Debug-Modul installieren, mit

"npm install debug --save"

Sie werden sehen, dass die folgende Spur hinzugefügt wurde Ihnen package.json (die die npm alle Module hat zu Ihrem proyect geladen)

dann müssen Sie diese hinzufügen, um das Modul in die Datei zu importieren, in dem Sie die Debug-

var debug = require('debug')('name_to_call');

ausführen möchten

jetzt müssen wir nur die Nachricht setzen wir zum Beispiel hallo

var debug = require('debug')('name_to_call'); 
debug('Hello'); 

(versuchen einfügen Code oben direkt in eine Datei)

und jetzt müssen wir nur inicialize unserem Server schreiben möchten mit Knoten

"DEBUG=name_to_call node server.js"

+0

Again .. dies funktioniert nicht unter Windows. Bitte denken Sie darüber nach, Ihre Antwort zu löschen oder zu ändern, da sie nichts beiträgt ... Sorry ... – Domi

+1

@Domi Wenn Sie mir etwas Zeit geben, werde ich es für Windows überprüfen :) Es ist lange 2 Jahre so vielleicht etwas geändert , ich schaue es mir an und modifiziere es nochmal :) Ich war ein kleiner Junior Programmierer, also werden diese 2 Jahre vielleicht daraus eine bessere Antwort machen :) –

2

Installieren Debug-Paket mit NPM innerhalb der Knotenanwendung

Verwendung
npm install debug 

ein Powershell öffnen und dann

$Env:DEBUG="name_to_call" 

node path_to_js_to_execute.js 

In Ihrem pgm

var debug = require('debug')('name_to_call'); 
1

In Babun Windows-Shell-, ich laufe,

npm

npm install debug --save 

Babun

DEBUG=http node app 

ca.js

funktioniert wie ein Charme für mich.

Verwandte Themen