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?
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
.
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)
O Windows não define as variáveis de ambiente como o Linux e outros.
A solução é:
set DEBUG=my-application
npm start
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
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