如何判断node.js应用程序环境支持样式/彩色控制台输出?

时间:2019-07-07 15:40:02

标签: node.js

我想设置控制台输出(console.log('%cTest', 'color: lime'))的样式以用于调试,因此我需要确定脚本是否在VSCode中运行。有可能吗?

澄清:我想要“同构”代码,该代码可以检测它是否在VSCode中运行并在VSCode中运行彩色console.log输出,并在常规console.log中运行。

1 个答案:

答案 0 :(得分:2)

实际上,您需要检测控制台是否支持颜色(及其支持颜色的程度),而不是嗅探是否从VSCode启动了Node.js程序。

要实现此要求,可以使用npm模块supports-color

// Code example taken from supports-color document

const supportsColor = require('supports-color');

if (supportsColor.stdout) {
    console.log('Terminal stdout supports color');
}

if (supportsColor.stdout.has256) {
    console.log('Terminal stdout supports 256 colors');
}

if (supportsColor.stderr.has16m) {
    console.log('Terminal stderr supports 16 million colors (truecolor)');
}