2017-08-11 1 views
1

nicht möglich Ich versuche, die Konsole in verschiedenen Farben unter Verwendung chalk zu loggen, aber ich habe es nicht zum Funktionieren gebracht. Ich habe eine Datei, die aus den folgenden zwei Zeilen besteht, und ich bin es mit dem Befehl ausführen node test.jsFarbausgabe im Knoten

var chalk = require('chalk'); 
console.log(chalk.red('Hello')); 
// outputs 'hello' in black 

Der folgende Befehl tut Ausgabe in rot, so weiß ich, dass es in meinem Terminal möglich ist.

node <<< "console.log('\x1b[31mhello\x1b[m')" 

Ich habe "chalk": "^2.1.0" in meinem dev Abhängigkeiten und haben eine npm install laufen. Das Folgende zeigt einige meiner Einstellungen.

$ node --version 
v8.2.1 

$ echo $TERM 
xterm-256color 

$ echo $SHELL 
/bin/bash 

$ echo $TERM_PROGRAM 
Apple_Terminal 

Irgendwelche Ideen?


Zusätzlich:

Es sieht aus wie chalk nicht die ansi-Codes ausgibt, überhaupt aus irgendeinem Grund ...

console.log(util.inspect('hello')); 
//'hello' 
console.log(util.inspect(chalk.red('hello'))); 
// 'hello' 
console.log(util.inspect('\x1b[31mhello\x1b[m')); 
// '\u001b[31mhello\u001b[m' 

Antwort

0

Deinstallieren und das Paket das Problem behoben neu zu installieren.

npm remove -D chalk 

npm i -D chalk 
0

ich ein sehr ähnliches Problem hatte. Diese Antwort ist für alle anderen in der Zukunft.

Stellt sich heraus, dass Kreide keine Stile anwendet, wenn Sie die Ausgabe irgendwo verlegen.

In meinem npm Skripte, war ich mit:

node export.js | tee export.log

Da ich Winston verwenden wurde Vermittlungs ohnehin für die Anmeldung, und es kann die über ‚Transporte‘, brauche ich nicht mehr auf verschiedene Dateien ausgegeben Ausgabe piped irgendwo und Kreide ist frei zu arbeiten.

Hoffe das hilft jemandem!