javascript - 在 Node 脚本中包含 "no-color"选项?

标签 javascript node.js

我制作了一个 Node 脚本,并通过在我的 console.logs 中使用颜色来美化其输出:

const noColorOption = args[1] === '--no-color' || args[2] === '--no-color';
const colors = {
    green: noColorOption ? '' : '\x1b[32m%s\x1b[0m',
    cyanRed: noColorOption ? '' : '\x1b[36m%s\x1b[91m%s\x1b[0m'
};

// ... examples of console.logs in my script ...
console.log(colors.cyanRed,
  filename + '\n   ',
  redundantModules.join('\n   '));
console.log(colors.green, `\nTotal files searched: ${totalFilesSearched}`);

但是,--no-color 选项无法按预期工作,因为 console.log 只是将空字符串打印为空格。

我应该添加新的 console.logs 而不带第一个参数,还是有办法分配 --no-color 选项以使其正确打印出来使用默认颜色?

最佳答案

您可以使用%s代替空字符串。

const noColorOption = process.argv[2] === '--no-color';
const colors = {
    green: noColorOption ? '%s' : '\x1b[32m%s\x1b[0m',
    cyanRed: noColorOption ? '%s' : '\x1b[36m%s\x1b[91m%s\x1b[0m'
};


console.log(colors.cyanRed, __filename + '\n   ');
console.log(colors.green, `Total files searched: 0`);

关于javascript - 在 Node 脚本中包含 "no-color"选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50594906/

相关文章:

javascript - 数组作为队列并在另一个内部调用函数

javascript滚动到新页面上的位置

javascript - 类 vs 数据- vs 自定义属性

javascript - JQuery 依赖文件不工作

javascript - 共享内置原型(prototype)的 Node JavaScript 上下文?

node.js - 在生产环境中使用 node v8 选项是否安全?

node.js - 无法从其他容器或主机访问带有 nodejs 应用程序(NestJS)的 Docker 容器

javascript - 当鼠标移回处理程序元素时防止滑动事件

javascript - 使用 Service Worker 时离线重写 URL

node.js - 如果文档的 _id 已经存在,如何将数组元素推送到数组;如果 _id 不存在,如何创建新文档?