1

我正在尝试以不同的颜色登录到控制台,chalk但我还没有让它工作。我有一个包含以下两行的文件,我正在使用命令运行它node test.js

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

以下命令确实以红色输出,所以我知道它在我的终端中是可能的。

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

我有"chalk": "^2.1.0"我的开发依赖项并运行了一个npm install. 下面显示了我的一些设置。

$ node --version
v8.2.1

$ echo $TERM
xterm-256color

$ echo $SHELL
/bin/bash

$ echo $TERM_PROGRAM
Apple_Terminal

有任何想法吗?


此外:

由于某种原因,它看起来chalk根本没有输出 ansi 代码......

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'
4

2 回答 2

0

我遇到了一个非常相似的问题。这个答案适用于未来的任何人。

事实证明,如果您在某处管道输出,粉笔将不会应用样式。

在我的 npm 脚本中,我使用的是:

node export.js | tee export.log

因为无论如何我都切换到使用 Winston 进行日志记录,并且它可以通过“传输”输出到不同的文件,所以我不再需要在某处管道输出,并且粉笔可以自由工作。

希望这对某人有帮助!

于 2018-02-06T18:48:43.307 回答
0

卸载并重新安装包解决了这个问题。

npm remove -D chalk 

npm i -D chalk
于 2017-08-11T16:11:51.930 回答