【发布时间】:2015-11-05 02:23:48
【问题描述】:
如果你运行命令npm command,你会得到这样的彩色输出。
但是,如果我通过节点模块运行命令,就像这样。
var execSync = require('child_process').execSync
execSync('npm substack')
颜色消失了。
cmd在节点文件中运行时有什么办法可以保留颜色吗?
不知道这个问题是如何特定于节点的。这是一个输出--> Starting program. 的通用回显,其中箭头为绿色。
echo -e "\\033[38;5;2m-->\\033[0m Starting program."
我需要一个命令,将这个输出转换回上面的这个字符串。
【问题讨论】:
-
npm command是什么 - 某种 shell 内置命令? 最有可能此 shell 检查输出是否为终端,如果是则仅输出 ANSI 转义的颜色代码。我在自己的程序中使用了这个技巧,如果应该插入颜色,则使用isatty设置标志。 -
@Jongware
npm是一个 shell 命令。我怎样才能假装命令认为有一个外壳,所以它会用颜色打印它的输出? -
我相信代码的输出在
utf8中,并且字符串只是按原样记录。我需要一种从命令中输出 ansi 字符串而不是彩色字符串的方法。
标签: javascript node.js string colors terminal