2017-10-14 3 views
2

Sagen, ich habe diese:Terminal-Styling (Kontroll Zeichen) unter Verwendung der Kreide NPM Modul

//exp.js 
const chalk = require('chalk'); 
console.log(chalk.red('foobar')); 

und ich laufe dann in der Befehlszeile:

node exp.js | cat 

In allen Fällen, die ich gesehen habe, Die Farben werden nicht angezeigt. Weiß jemand warum? Gibt es eine Möglichkeit, die Farben erscheinen zu lassen? Mache ich etwas falsch?

Meine einzige Vermutung ist, dass die chalk-Bibliothek das String-Styling "ausschaltet", wenn die Prozesse in einer Pipe verbunden sind?

Zum Beispiel:

enter image description here

+0

Hier ist die Kreide Bibliothek Quelle - https://github.com/chalk /chalk/blob/master/index.js –

+1

Kommentieren Sie Ihre Frage nicht, aber bearbeiten Sie i t Verbesserungs –

+0

ziehe ich die Kommentare zu füllen, und halten Sie die Frage ordentlich –

Antwort

1

Per the fine manual:

$ node exp.js --color | cat 
$ env FORCE_COLOR=1 node exp.js | cat 

Oder:

//exp.js 
process.env.FORCE_COLOR = '1'; 
const chalk = require('chalk'); 
console.log(chalk.red('foobar')); 
+0

oh ja, das muss es –

+0

getestet und es funktioniert für mich, danke für diese –