由于眼睛的问题,我不得不将控制台背景色改为白色,但字体是灰色的,它使消息无法阅读。我怎样才能改变呢?


当前回答

最小的别名:

{
  const f = (color) => (...args) => {
    for (const x of [color, ...args, "\33[0m"]) console.log(x);
  };

  Object.assign(console, {
    black: f("\33[30m"),
    red: f("\33[31m"),
    green: f("\33[32m"),
    yellow: f("\33[33m"),
    blue: f("\33[34m"),
    magenta: f("\33[35m"),
    cyan: f("\33[36m"),
    white: f("\33[37m"),
  });
}

// Usage
console.blue("Blue world");

其他回答

你也可以使用颜色。

用法:

var cw = require('colorworks').create();
console.info(cw.compile('[[red|Red message with a [[yellow|yellow]] word.]]'));

为了简化工作,您还可以使用它创建一个函数。

function say(msg) {
  console.info(cw.compile(msg));
}

现在你可以做:

say(`[[yellow|Time spent: [[green|${time}]]ms.]]`);

Coolors

它非常适合使用或扩展。你可以简单地使用:

var coolors = require('coolors');
console.log(coolors('My cool console log', 'red'));

或者使用config:

var coolors = require('coolors');
console.log(coolors('My cool console log', {
   text: 'yellow',
   background: 'red',
   bold: true,
   underline: true,
   inverse: true,
   strikethrough: true
}));

延伸一下似乎很有趣:

var coolors = require('coolors');
function rainbowLog(msg){
    var colorsText = coolors.availableStyles().text;
    var rainbowColors = colorsText.splice(3);
    var lengthRainbowColors = rainbowColors.length;
    var msgInLetters = msg.split('');
    var rainbowEndText = '';
    var i = 0;
    msgInLetters.forEach(function(letter){
        if(letter != ' '){
            if(i === lengthRainbowColors) i = 0;
            rainbowEndText += coolors(letter, rainbowColors[i]);
            i++;
        }else{
            rainbowEndText += ' ';
        }
    });
    return rainbowEndText;
}
coolors.addPlugin('rainbow', rainbowLog);
console.log(coolorsExtended('This its a creative example extending core with a cool rainbown style', 'rainbown'));

视图Coolors模块

另一种方法是使用一个简单的ANSI代码生成器。

您不需要安装软件包 不需要搜索颜色代码,只需点击按钮

GIF演示

你可以在https://console-colors.vercel.app/上使用它

公共存储库:https://github.com/alecshoppe/console-colors

最小的别名:

{
  const f = (color) => (...args) => {
    for (const x of [color, ...args, "\33[0m"]) console.log(x);
  };

  Object.assign(console, {
    black: f("\33[30m"),
    red: f("\33[31m"),
    green: f("\33[32m"),
    yellow: f("\33[33m"),
    blue: f("\33[34m"),
    magenta: f("\33[35m"),
    cyan: f("\33[36m"),
    white: f("\33[37m"),
  });
}

// Usage
console.blue("Blue world");

如果你想改变颜色直接自己没有模块尝试

console.log('\x1b[36m', 'sometext' ,'\x1b[0m');

先\x1b[36m改变颜色为36,然后回到终端颜色0。

下面是ANSI颜色代码列表