o módulo de depuração expresso não está a funcionar

estou no Windows a tentar usar o módulo de depuração https://www.npmjs.org/package/debug

instalei um gerador expresso

var debug = require('debug')('MyApp');
debug('log'); // I don't see this on console

tentei depurar a variável

console.log(debug); // I get function disabled() {}
Como ativá-lo? não deveria ser ativado por padrão?

Author: Nizar Blond, 2014-09-30

5 answers

O resultado das funções de depuração criadas pelo módulo debug só é mostrado quando você definir a variável de ambiente apropriada ao iniciar o seu programa. Isso é o que lhe permite ativar seletivamente o resultado de depuração de modo que não seja um método de tudo ou nada para mostrar a informação de depuração. Isto é semelhante ao how node.o núcleo do js funciona para mostrar informações internas de depuração na consola.

Por isso, no seu exemplo, teria de executar isto na sua linha de comandos: DEBUG=MyApp node foo.js, onde foo.js está o seu guião contém var debug = require('debug')('MyApp');.

Para o Windows é preciso fazer set DEBUG=MyApp na linha de comandos, seguido de node foo.js.

 22
Author: mscdex, 2014-10-13 15:04:04

No caso de querê-lo no seu código js,

Myapp-debug.js

#!/usr/bin/env node

process.env['DEBUG'] = 'myapp:server';
var debug = require('debug')('myapp:server');

// ...
  • acho que é útil quando existe um único ficheiro executável baralhado (no windows é necessário definir node para abrir .js os ficheiros)
 4
Author: Jossef Harush, 2016-07-17 07:05:58

O Windows não define as variáveis de ambiente como o Linux e outros.

A solução é:

set DEBUG=my-application
npm start
 2
Author: Nizar Blond, 2014-09-30 03:31:06

No windows set DEBUG=* ou o seu nome configurado para debug, por exemplo myApp. Em todos os ficheiros js, sempre que quero depurar, configuro-me como a seguir.

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

Necessita ('depurar') ('MyApp'); //Isto é muito imp. Você deverá configurar algum nome para depurar

Ao executar no windows

D:>set DEBUG=MyApp

D:>node <your app file>.js 

D:> node foo.js
 1
Author: Nikhil, 2016-04-14 19:45:20

Estava a tentar resolver este problema também e parece-me (pelo menos na minha máquina do Windows 10) que a forma de o fazer (pelo menos a partir de uma linha de comandos não-linux; estou a usar a linha de comandos build-in do WebStorm) é incluir o operador'&'. Então escreve algo assim:

set DEBUG=my-app & node index.js
 1
Author: user2403232, 2017-09-29 16:46:54