【发布时间】:2018-08-04 21:03:09
【问题描述】:
我有一个错误的回调:
return cb({code, message: `Could not run the following command: "${chalk.bold(cmd)}".`}, result);
它的处理方式如下:
if (err) {
console.error(err);
process.exit(1);
}
我明白了(注意控制字符):
{ code: 1,
message:
'Could not run the following command: "\u001b[1mnpm view @oresoftware/foo2@latest dist --json\u001b[22m".' }
我也尝试过这样处理:
if (err) {
console.error(util.inspect(err));
process.exit(1);
}
和
if (err) {
console.error(chalk.magenta(util.inspect(err)));
process.exit(1);
}
但我似乎总是得到控制字符 - 有没有办法配置 util.inspect() 以接受控制字符?
https://nodejs.org/api/util.html#util_util_inspect_object_options
这是一个非常简单的重现:
const chalk = require('chalk');
const util = require('util');
console.log(util.inspect({message: `Here is the highlighted message ${chalk.bold('foo bar baz')}`}));
【问题讨论】:
-
请注意
util.inspect(x, {colors:true})不能解决问题。使用 colors:true 实际上在较新的 nodejs 版本中默认执行 console.log() 的操作。
标签: node.js