禁用node.js输出中的终端转义序列

时间:2014-12-16 08:44:33

标签: windows node.js ansi-escape

我在node.js上使用Karma来运行测试作为构建脚本的一部分。运行独立命令时,它看起来像这样:

enter image description here

但是,当作为构建作业的一部分运行时,它变为:

TestJs:
  node node_modules\karma\bin\karma start lib\Tests.conf.js
  ←[33mWARN [karma]: ←[39mPort 19876 in use
  ←[32mINFO [karma]: ←[39mKarma v0.12.28 server started at http://localhost:19877/
  ←[32mINFO [launcher]: ←[39mStarting browser PhantomJS
  ←[32mINFO [PhantomJS 1.9.8 (Windows 8)]: ←[39mConnected on socket tw-cSawB8PRCSVL-QYsr with id 81276065

有点难以阅读。显然,Node本身对将ANSI转义序列转换为Windows控制台API有一些支持,但在重定向或捕获输出时会丢失(执行shell重定向时写入的文件也包含转义序列)。

有没有办法抑制颜色? node --help提及$Env:NODE_DISABLE_COLORS,但这似乎仅适用于REPL,并且对我运行脚本没有任何作用。

1 个答案:

答案 0 :(得分:0)

没关系,我在Karma配置中找到了一条线:

// enable / disable colors in the output (reporters and logs)
colors: true,

我忘了改变。