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

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

最佳答案

实际上,您需要检测控制台是否支持颜色(及其支持颜色的程度),而不是嗅探是否从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)');
}

关于node.js - 如何判断node.js应用程序环境支持样式/彩色控制台输出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56923640/

10-12 01:15