因此
gulp,例如使用一个称为
chalk日志记录格式化输出的模块。
chalk依次使用称为的模块
supports-color进行实际的终端类型检测。当
chalk是
require()d时,它将自动用于
supports-color确定可用的颜色。
通常,
supports-color当使用默认
stdio选项将进程作为子进程执行时,将报告没有颜色可用,因为在这种情况下stdout 不是
tty,因此它是管道。不过,幸运的是,
supports-colors提供了两个选项来覆盖该检查:
supports-colors
使用一种称为模块has-flag
,寻找process.argv
喜欢的条目--color
,--colors
等给力的基本(16),颜色支持。您还--color=256
可以强制使用256种颜色,并使用参数--color=full
强制使用真彩色模式(1600万种颜色)。因此,例如,您应该调用gulpgulp --colors
以获得基本的颜色输出。supports-colors
还检查是否有一个名为的环境变量FORCE_COLOR
,如果检测到不支持任何颜色,它将强制支持基本颜色。
对于npm,您可以通过两种不同的方式强制输出颜色。追加
--coloralways命令行参数或
NPM_CONFIG_COLOR=always在环境中设置(您可以通过设置
env传递给
child_process.exec()/
的选项来实现
child_process.spawn())。



