如何更改node.js的控制台字体颜色?

时间:2012-03-20 04:07:03

标签: node.js colors console

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

36 个答案:

答案 0 :(得分:737)

下面你可以找到运行node.js应用程序时命令的文本颜色参考:

console.log('\x1b[36m%s\x1b[0m', 'I am cyan');  //cyan
console.log('\x1b[33m%s\x1b[0m', stringToMakeYellow);  //yellow

注意%s是字符串(第二个参数)被注入的位置。 \x1b[0m重置终端颜色,因此在此之后它不再是继续选择的颜色。

颜色参考

Reset = "\x1b[0m"
Bright = "\x1b[1m"
Dim = "\x1b[2m"
Underscore = "\x1b[4m"
Blink = "\x1b[5m"
Reverse = "\x1b[7m"
Hidden = "\x1b[8m"

FgBlack = "\x1b[30m"
FgRed = "\x1b[31m"
FgGreen = "\x1b[32m"
FgYellow = "\x1b[33m"
FgBlue = "\x1b[34m"
FgMagenta = "\x1b[35m"
FgCyan = "\x1b[36m"
FgWhite = "\x1b[37m"

BgBlack = "\x1b[40m"
BgRed = "\x1b[41m"
BgGreen = "\x1b[42m"
BgYellow = "\x1b[43m"
BgBlue = "\x1b[44m"
BgMagenta = "\x1b[45m"
BgCyan = "\x1b[46m"
BgWhite = "\x1b[47m"

编辑:

例如,\x1b[31m是一个转义序列,它将被您的终端拦截并指示它切换为红色。实际上,\x1b不可打印控制字符 escape的代码。仅处理颜色和样式的转义序列也称为 ANSI escape code ,并且是标准化的,因此它们(应该)可以在任何平台上运行。

Wikipedia对不同终端如何显示颜色进行了很好的比较 https://en.wikipedia.org/wiki/ANSI_escape_code#Colors

答案 1 :(得分:261)

Node.js中有多个可用于格式化控制台文本的包。最受欢迎的是:

用法:


<强>粉笔:

const chalk = require('chalk');
console.log(chalk.red('Text in red'));

<强> CLI-COLOR:

const clc = require('cli-color');
console.log(clc.red('Text in red'));

<强>颜色

const colors = require('colors');
console.log('Text in red'.red);

许多人都注意到他们拒绝colors更改字符串原型。如果您希望保留原型,请使用以下代码:

const colors = require('colors/safe');
console.log(colors.red('Text in red'));

答案 2 :(得分:136)

如果您想在没有模块的情况下直接更改颜色,请尝试

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

首先&#39; \ x1b [36m&#39;将颜色更改为&#34; 36&#34;然后回到终端颜色&#34; 0&#34;。

Here's a list of ANSI color codes

答案 3 :(得分:68)

为输出着色你可以使用那里的例子:
https://help.ubuntu.com/community/CustomizingBashPrompt

也是Gist for nodeJs

例如,如果您想要部分文本为红色,只需使用:

执行console.log
"\033[31m this will be red \033[91m and this will be normal"

基于此我为Node.js创建了“colog”扩展。您可以使用以下方式安装它:

npm install colog

回购和npm: https://github.com/dariuszp/colog

答案 4 :(得分:28)

this documentation,您可以根据输出的数据类型更改颜色:

// you'll need the util module
var util = require('util');

// let's look at the defaults: 
util.inspect.styles

{ special: 'cyan',
  number: 'yellow',
  boolean: 'yellow',
  undefined: 'grey',
  null: 'bold',
  string: 'green',
  date: 'magenta',
  regexp: 'red' }

// what are the predefined colors?
util.inspect.colors

{ bold: [ 1, 22 ],
  italic: [ 3, 23 ],
  underline: [ 4, 24 ],
  inverse: [ 7, 27 ],
  white: [ 37, 39 ],
  grey: [ 90, 39 ],
  black: [ 30, 39 ],
  blue: [ 34, 39 ],
  cyan: [ 36, 39 ],
  green: [ 32, 39 ],
  magenta: [ 35, 39 ],
  red: [ 31, 39 ],
  yellow: [ 33, 39 ] }

这些似乎是ANSI SGR转义码,其中第一个数字是在输出之前发出的代码,第二个数字是之后发出的代码。因此,如果我们查看the chart of ANSI SGR codes on Wikipedia,您会看到其中大多数以30-37开头设置前景色,并以39结束以重置为默认前景色。

所以我不喜欢的一件事是它们有多暗。特别是约会。继续,在控制台中尝试new Date()。黑色的深洋红色真的很难读。让我们改为浅红色。

// first define a new color
util.inspect.colors.lightmagenta = [95,39];

// now assign it to the output for date types
util.inspect.styles.date = 'lightmagenta';

现在,当您尝试new Date()时,输出更具可读性。

如果您想在启动节点时自动设置颜色,请创建一个启动repl的脚本,如下所示:

// set your colors however desired
var util = require('util');
util.inspect.colors.lightmagenta = [95,39];
util.inspect.styles.date = 'lightmagenta';

// start the repl    
require('repl').start({});

保存此文件(例如init.js),然后运行node.exe init.js。它将设置颜色并启动node.js命令提示符。

(感谢this answer中的loganfsmyth获取repl的想法。)

答案 5 :(得分:27)

这是可用操作的控制台中可用颜色(背景,前景)的列表(重置,反向,...)。

const colors = {
 Reset: "\x1b[0m",
 Bright: "\x1b[1m",
 Dim: "\x1b[2m",
 Underscore: "\x1b[4m",
 Blink: "\x1b[5m",
 Reverse: "\x1b[7m",
 Hidden: "\x1b[8m",
 fg: {
  Black: "\x1b[30m",
  Red: "\x1b[31m",
  Green: "\x1b[32m",
  Yellow: "\x1b[33m",
  Blue: "\x1b[34m",
  Magenta: "\x1b[35m",
  Cyan: "\x1b[36m",
  White: "\x1b[37m",
  Crimson: "\x1b[38m" //القرمزي
 },
 bg: {
  Black: "\x1b[40m",
  Red: "\x1b[41m",
  Green: "\x1b[42m",
  Yellow: "\x1b[43m",
  Blue: "\x1b[44m",
  Magenta: "\x1b[45m",
  Cyan: "\x1b[46m",
  White: "\x1b[47m",
  Crimson: "\x1b[48m"
 }
};

使用如下:

 console.log(colors.bg.Blue, colors.fg.White , "I am white message with blue background", colors.Reset) ; 
 //don't forget "colors.Reset" to stop this color and return back to the default color

您也可以安装:

npm install console-info console-warn console-error --save-dev

IT将为您提供更接近客户端控制台的输出:

enter image description here

答案 6 :(得分:19)

Sindre Sorhus的这个图书馆目前是最好的:

chalk

  • 高效率
  • 不会延伸String.prototype
  • 富有表现力的API
  • 嵌套样式的能力
  • 清洁且专注
  • 自动检测颜色支持
  • 积极维护
  • 由5500+模块使用

答案 7 :(得分:17)

Color codes are as mentioned

Reset: "\x1b[0m"
Bright: "\x1b[1m"
Dim: "\x1b[2m"
Underscore: "\x1b[4m"
Blink: "\x1b[5m"
Reverse: "\x1b[7m"
Hidden: "\x1b[8m"

FgBlack: "\x1b[30m"
FgRed: "\x1b[31m"
FgGreen: "\x1b[32m"
FgYellow: "\x1b[33m"
FgBlue: "\x1b[34m"
FgMagenta: "\x1b[35m"
FgCyan: "\x1b[36m"
FgWhite: "\x1b[37m"

BgBlack: "\x1b[40m"
BgRed: "\x1b[41m"
BgGreen: "\x1b[42m"
BgYellow: "\x1b[43m"
BgBlue: "\x1b[44m"
BgMagenta: "\x1b[45m"
BgCyan: "\x1b[46m"
BgWhite: "\x1b[47m"

例如,如果你想要一个带有蓝色背景的Dim,Red文本,你可以在Javascript中这样做:

console.log("\x1b[2m", "\x1b[31m", "\x1b[44m", "Sample Text", "\x1b[0m");

颜色和效果的顺序似乎并不那么重要,但总是记得在最后重置颜色和效果。

答案 8 :(得分:10)

对于colors的流行替代品,它不会弄乱String对象的内置方法,我建议您查看cli-color

包括颜色和可链接样式,如粗体,斜体和下划线。

有关此类别中各种模块的比较,请参阅here

答案 9 :(得分:8)

我为npm脚本编写的一个方便的单行程序,它不具备依赖项:

&#13;
&#13;
const { r, g, b, w, c, m, y, k } = [
  ['r', 1], ['g', 2], ['b', 4], ['w', 7],
  ['c', 6], ['m', 5], ['y', 3], ['k', 0],
].reduce((cols, col) => ({
  ...cols,  [col[0]]: f => `\x1b[3${col[1]}m${f}\x1b[0m`
}), {})

console.log(`${g('I')} love ${r('Italy')}`)
&#13;
&#13;
&#13;

答案 10 :(得分:8)

没有图书馆没有并发症很简单:

console.log(red('Error!'));

function red(s) {
    return '\033[31m' + s;
}

答案 11 :(得分:6)

我重载了控制台方法。

var colors={
Reset: "\x1b[0m",
Red: "\x1b[31m",
Green: "\x1b[32m",
Yellow: "\x1b[33m"
};

var infoLog = console.info;
var logLog = console.log;
var errorLog = console.error;
var warnLog = console.warn;

console.info= function(args)
{
    var copyArgs = Array.prototype.slice.call(arguments);
    copyArgs.unshift(colors.Green);
    copyArgs.push(colors.Reset);
    infoLog.apply(null,copyArgs);
};

console.warn= function(args)
{
    var copyArgs = Array.prototype.slice.call(arguments);
    copyArgs.unshift(colors.Yellow);
    copyArgs.push(colors.Reset);
    warnLog.apply(null,copyArgs);
};
console.error= function(args)
{
    var copyArgs = Array.prototype.slice.call(arguments);
    copyArgs.unshift(colors.Red);
    copyArgs.push(colors.Reset);
    errorLog.apply(null,copyArgs);
};

// examples
console.info("Numeros",1,2,3);
console.warn("pares",2,4,6);
console.error("reiniciandooo");

输出是。 enter image description here

答案 12 :(得分:6)

今天有两种方法可以看到改变Node.js控制台的颜色。

一种是通过通用库来装饰带有颜色标记的文本字符串,然后通过标准console.log输出。

今天的顶级图书馆:

另一种方式 - 修补现有的控制台方法。一个这样的库 - manakin可让您自动为所有控制台方法设置标准颜色(logwarnerrorinfo)。

与通用颜色库的一个显着区别 - 它可以全局或本地设置颜色,同时为每个Node.js控制台方法保持一致的语法和输出格式,然后使用它而不必指定颜色,因为它们是全部自动设定。

  

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

特别针对您的问题,这是最简单的解决方案:

var con = require('manakin').global;
con.log.color = 30; // Use black color for console.log

它会为应用程序中的每个console.log调用设置黑色。请参阅more color codes

manakin使用的默认颜色:

enter image description here

答案 13 :(得分:4)

我不希望对此有任何依赖,只有这些对我来说在OS X上工作。来自答案的所有其他样本都给我Octal literal错误。

Reset = "\x1b[0m"
Bright = "\x1b[1m"
Dim = "\x1b[2m"
Underscore = "\x1b[4m"
Blink = "\x1b[5m"
Reverse = "\x1b[7m"
Hidden = "\x1b[8m"

FgBlack = "\x1b[30m"
FgRed = "\x1b[31m"
FgGreen = "\x1b[32m"
FgYellow = "\x1b[33m"
FgBlue = "\x1b[34m"
FgMagenta = "\x1b[35m"
FgCyan = "\x1b[36m"
FgWhite = "\x1b[37m"

BgBlack = "\x1b[40m"
BgRed = "\x1b[41m"
BgGreen = "\x1b[42m"
BgYellow = "\x1b[43m"
BgBlue = "\x1b[44m"
BgMagenta = "\x1b[45m"
BgCyan = "\x1b[46m"
BgWhite = "\x1b[47m"

来源:https://coderwall.com/p/yphywg/printing-colorful-text-in-terminal-when-run-node-js-script

答案 14 :(得分:4)

遇到这个问题,想在stdout上使用一些颜色,没有任何依赖。这里结合了其他一些很好的答案。

这就是我所拥有的。 (需要节点v4或更高版本)

struct teachers
{
private:
    int gradDate;
    int quote;
    string name;
    string school;
    smallBoard sb;

public:
    struct smallBoard
    {
    private:
        vector<string> grade;
        vector<string> school;
        vector<string> emblem;
        vector<int> year;

    friend struct teachers;
    };

    static void retrieveInformation(vector<teachers> &_teachers);
    static void t_addInfo(vector<teachers> &_teachers, teachers teachers_);
    static void s_addInfo(vector<teachers::smallBoard> &_smallBoard, teachers::smallBoard smallBoard_);
};

只需要文件,然后像这样使用它:

// colors.js
const util = require('util')

function colorize (color, text) {
  const codes = util.inspect.colors[color]
  return `\x1b[${codes[0]}m${text}\x1b[${codes[1]}m`
}

function colors () {
  let returnValue = {}
  Object.keys(util.inspect.colors).forEach((color) => {
    returnValue[color] = (text) => colorize(color, text)
  })
  return returnValue
}

module.exports = colors()

预定义的颜色代码可用here

答案 15 :(得分:3)

  

这在某种程度上取决于您所使用的平台。最常见的方式   为此,请打印ANSI转义序列。举一个简单的例子   这是Blender构建脚本中的一些python代码:

// This is a object for use ANSI escape to color the text in the terminal
const bColors = {
    HEADER    : '\033[95m',
    OKBLUE    : '\033[94m',
    OKGREEN   : '\033[92m',
    WARNING   : '\033[93m',
    FAIL      : '\033[91m',
    ENDC      : '\033[0m', 
    BOLD      : '\033[1m',   
    UNDERLINE : '\033[4m'
}
  

要使用这样的代码,您可以做类似的事情

console.log(`${bColors.WARNING} My name is sami ${bColors.ENDC}`)

答案 16 :(得分:3)

您也可以使用colorworks

用法:

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.]]`);

答案 17 :(得分:3)

paint-console

简单的可着色日志。支持检查对象和单行更新 这个包只是重新绘制控制台。

安装

npm install paint-console

<强>使用

require('paint-console');

console.info('console.info();');
console.warn('console.warn();');
console.error('console.error();');
console.log('console.log();');

<强> demo

答案 18 :(得分:3)

var colorSet = {
    Reset: "\x1b[0m",
    Red: "\x1b[31m",
    Green: "\x1b[32m",
    Yellow: "\x1b[33m",
    Blue: "\x1b[34m",
    Magenta: "\x1b[35m"
};

var funcNames = ["info", "log", "warn", "error"];
var colors = [colorSet.Green, colorSet.Blue, colorSet.Yellow, colorSet.Red];

for (var i = 0; i < funcNames.length; i++) {
    let funcName = funcNames[i];
    let color = colors[i];
    let oldFunc = console[funcName];
    console[funcName] = function () {
        var args = Array.prototype.slice.call(arguments);
        if (args.length) args = [color + args[0]].concat(args.slice(1), colorSet.Reset);
        oldFunc.apply(null, args);
    };
}

// Test:
console.info("Info is green.");
console.log("Log is blue.");
console.warn("Warn is orange.");
console.error("Error is red.");
console.info("--------------------");
console.info("Formatting works as well. The number = %d", 123);

答案 19 :(得分:2)

我在我的代码段目录中创建了一个名为 styles.js 的文件,我认为它可能对任何想要导入单​​个文件的人有所帮助。

这是对 styles.js file of color.js 的一个小修改,对我帮助很大。

这是文件的内容:

// Original: https://github.com/Marak/colors.js/blob/master/lib/styles.js

const styleCodes = {
    // Reset all styles.
    reset: [0, 0],
    
    // Text styles.
    bold: [1, 22],
    dim: [2, 22],
    italic: [3, 23],
    underline: [4, 24],
    inverse: [7, 27],
    hidden: [8, 28],
    strikethrough: [9, 29],
    
    // Foregound classic colours.
    fgBlack: [30, 39],
    fgRed: [31, 39],
    fgGreen: [32, 39],
    fgYellow: [33, 39],
    fgBlue: [34, 39],
    fgMagenta: [35, 39],
    fgCyan: [36, 39],
    fgWhite: [37, 39],
    fgGray: [90, 39],
    
    // Foreground bright colours.
    fgBrightRed: [91, 39],
    fgBrightGreen: [92, 39],
    fgBrightYellow: [93, 39],
    fgBrightBlue: [94, 39],
    fgBrightMagenta: [95, 39],
    fgBrightCyan: [96, 39],
    fgBrightWhite: [97, 39],

    // Background basic colours.
    bgBlack: [40, 49],
    bgRed: [41, 49],
    bgGreen: [42, 49],
    bgYellow: [43, 49],
    bgBlue: [44, 49],
    bgMagenta: [45, 49],
    bgCyan: [46, 49],
    bgWhite: [47, 49],
    bgGray: [100, 49],
    bgGrey: [100, 49],
    
    // Background bright colours.
    bgBrightRed: [101, 49],
    bgBrightGreen: [102, 49],
    bgBrightYellow: [103, 49],
    bgBrightBlue: [104, 49],
    bgBrightMagenta: [105, 49],
    bgBrightCyan: [106, 49],
    bgBrightWhite: [107, 49],
};

// This object will contain the string representation for all style codes.
const styles = {};

// Loop over all the style codes and assign them to the `styles` object.
// 
// The a `styleCode` in the `styleCodes` object consists of two numbers:
// Index 0: The opening style code (In HTML this can be the opening <b> tag).
// Index 1: The closing style code (In HTML this can be the closing </b> tag).
for (let styleCode of Object.keys(styleCodes)) {
    styles[styleCode] = {
        open: `\x1B[${styleCodes[styleCode][0]}m`,
        close: `\x1B[${styleCodes[styleCode][1]}m`,
    };
}

module.exports = styles;

实际上使用起来非常简单。

const styles = require("/path/to/styles.js");

// Let's say we've got an error:
const errorOpen = styles.bold.open + styles.bgRed.open + styles.fgWhite.open;
const errorClose = styles.reset.close; // Close everything
console.log(errorOpen, "ERROR", errorClose, ": Missing semicolon at line 9.");

答案 20 :(得分:2)

表情符号

您可以像其他答案中提到的那样为文本使用颜色。

但是您可以改用表情符号!例如,您可以使用⚠️表示警告消息,而?表示错误消息。

或仅将这些笔记本用作颜色:

?: error message
?: warning message
?: ok status message
?: action message
?: canceled status message
?: Or anything you like and want to recognize immediately by color

奖金:

此方法还可以帮助您快速直接在源代码中直接扫描并查找日志

但是linux默认的emoji字体默认情况下不是彩色的,您可能首先要使其彩色。

答案 21 :(得分:2)

我创建了自己的模块StyleMe。我做了所以我可以做很少的打字。例如:

var StyleMe = require('styleme');
StyleMe.extend() // extend the string prototype

console.log("gre{Hello} blu{world}!".styleMe()) // Logs hello world! with 'hello' being green, and 'world' being blue with '!' being normal.

它也可以嵌套:

console.log("This is normal red{this is red blu{this is blue} back to red}".styleMe())

或者,如果您不想扩展字符串原型,您可以选择其他3个选项中的任何一个:

console.log(styleme.red("a string"))
console.log("Hello, this is yellow text".yellow().end())
console.log(styleme.style("some text","red,bbl"))

答案 22 :(得分:1)

2017:

简单的方法,为消息添加时间colord,您不需要更改代码,使用keep your console.log('msg')或console.err('error')

cur.Name

enter image description here

答案 23 :(得分:1)

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'));

View Coolors module

答案 24 :(得分:1)

<强> node-colorify

提供以彩色打印文本的功能,以及进行粗体,闪烁等文本格式化的功能。

答案 25 :(得分:1)

我发现以上(https://stackoverflow.com/a/41407246/4808079)的答案非常有用,但不完整。如果您只想给某个颜色着色一次,那应该没问题,但是我认为以可运行的功能形式共享它更适合现实生活中的用例。

const Color = {
  Reset: "\x1b[0m",
  Bright: "\x1b[1m",
  Dim: "\x1b[2m",
  Underscore: "\x1b[4m",
  Blink: "\x1b[5m",
  Reverse: "\x1b[7m",
  Hidden: "\x1b[8m",

  FgBlack: "\x1b[30m",
  FgRed: "\x1b[31m",
  FgGreen: "\x1b[32m",
  FgYellow: "\x1b[33m",
  FgBlue: "\x1b[34m",
  FgMagenta: "\x1b[35m",
  FgCyan: "\x1b[36m",
  FgWhite: "\x1b[37m",

  BgBlack: "\x1b[40m",
  BgRed: "\x1b[41m",
  BgGreen: "\x1b[42m",
  BgYellow: "\x1b[43m",
  BgBlue: "\x1b[44m",
  BgMagenta: "\x1b[45m",
  BgCyan: "\x1b[46m",
  BgWhite: "\x1b[47m"
}

function colorString(color, string) {
  return `${color}${string}${Color.Reset}`;
}

function colorStringLog(color, string) {
  console.log(colorString(color, string));
}

像这样使用它:

colorStringLog(Color.FgYellow, "Some Yellow text to console log");

console.log([
  colorString(Color.FgRed, "red"),
  colorString(Color.FgGreen, "green"),
  colorString(Color.FgBlue, "blue"),
].join(", "));

答案 26 :(得分:1)

在ubuntu中,您只需使用颜色代码:

var sys = require('sys');
process.stdout.write("x1B[31m" + your_message_in_red + "\x1B[0m\r\n");

答案 27 :(得分:0)

logger / index.js

const colors = {
    Reset : "\x1b[0m",
    Bright : "\x1b[1m",
    Dim : "\x1b[2m",
    Underscore : "\x1b[4m",
    Blink : "\x1b[5m",
    Reverse : "\x1b[7m",
    Hidden : "\x1b[8m",

    FgBlack : "\x1b[30m",
    FgRed : "\x1b[31m",
    FgGreen : "\x1b[32m",
    FgYellow : "\x1b[33m",
    FgBlue : "\x1b[34m",
    FgMagenta : "\x1b[35m",
    FgCyan : "\x1b[36m",
    FgWhite : "\x1b[37m",

    BgBlack : "\x1b[40m",
    BgRed : "\x1b[41m",
    BgGreen : "\x1b[42m",
    BgYellow : "\x1b[43m",
    BgBlue : "\x1b[44m",
    BgMagenta : "\x1b[45m",
    BgCyan : "\x1b[46m",
    BgWhite : "\x1b[47m",
};

module.exports = () => {
    Object.keys(colors).forEach(key => {
        console['log' + key] = (strg) => {
            if(typeof strg === 'object') strg = JSON.stringify(strg, null, 4);
            return console.log(colors[key]+strg+'\x1b[0m');
        }
    });
}

在您的app.js中

require('./logger')();

然后按以下方式使用它:

console.logBgGreen(" grüner Hintergrund ")

答案 28 :(得分:0)

这适用于(我知道)Node控制台。

该软件包是快捷方式,您可以使用此命令进行安装。 const short = require('@testgrandma/shortcuts');

您可以执行两个命令来更改颜色。它是RGB颜色和十六进制颜色short.colorRGB(r,g,b);

short.colorhex(hex);

您可以执行console.log(short.colorhex('d50000') + 'This is red!');

包可以在这里找到。

https://www.npmjs.com/package/@testgrandma/shortcuts

答案 29 :(得分:0)

我写了一个程序包来轻松实现cslog

screenshow

使用

安装
npm i cslog

像这样使用它

import log from 'cslog'

log.h1("This is heading 2")                   //Heading
log.p("This is colored paragraph")            //Paragraph
log.d(myObj, "Person Info")                   //variable
log.bi('I am Bold italic')                    //Bold + Italic
log.hi('Hello JS', 'blue', 'yellow', true)    //Blue text on yellow background, Broder: true

您也可以提供自定义颜色。 here

答案 30 :(得分:0)

内联打字稿解决方案

export const color = (function (colors) {
    const fn = (code: number, str: string) => `\x1b[${code}m${str}\x1b[39m`;
    const obj = { grey: fn.bind(null, 90) };
    for (let i = 0; i < colors.length; i++) obj[colors[i]] = fn.bind(null, 30 + i);
    return obj as { [K in typeof colors[any] | 'grey']: (str: string) => string };
})(['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'] as const);

enter image description here

答案 31 :(得分:0)

我真的很喜欢@Daniel的回答,但是console.log {color}函数的功能与常规console.log的功能不同。我做了一些更改,现在所有新功能的参数都将传递到console.log(以及颜色代码)。

const _colors = {
    Reset : "\x1b[0m",
    Bright : "\x1b[1m",
    Dim : "\x1b[2m",
    Underscore : "\x1b[4m",
    Blink : "\x1b[5m",
    Reverse : "\x1b[7m",
    Hidden : "\x1b[8m",

    FgBlack : "\x1b[30m",
    FgRed : "\x1b[31m",
    FgGreen : "\x1b[32m",
    FgYellow : "\x1b[33m",
    FgBlue : "\x1b[34m",
    FgMagenta : "\x1b[35m",
    FgCyan : "\x1b[36m",
    FgWhite : "\x1b[37m",

    BgBlack : "\x1b[40m",
    BgRed : "\x1b[41m",
    BgGreen : "\x1b[42m",
    BgYellow : "\x1b[43m",
    BgBlue : "\x1b[44m",
    BgMagenta : "\x1b[45m",
    BgCyan : "\x1b[46m",
    BgWhite : "\x1b[47m",
};

const enableColorLogging = function(){
    Object.keys(_colors).forEach(key => {
        console['log' + key] = function(){
            return console.log(_colors[key], ...arguments, _colors.Reset);
        }
    });
}

答案 32 :(得分:0)

这是Windows 10的一种方法(可能是7),它改变了cmd,npm终端本身的颜色方案(主题),而不仅仅是特定应用程序的控制台输出。

我找到了可运行的Windows插件 - Color Tool,它可能是在Windows下开发的。 link提供了说明。

我将colortool目录添加到系统环境路径变量中,现在每当我启动终端时它都可用(NodeJs命令提示符,cmd)。

答案 33 :(得分:0)

如果您使用的是Windows CMD,请转到终端属性/颜色(CMD左上角),然后重新定义令人反感的颜色的RGB值。在我的情况下,我相信它是左边的第五个颜色方块,我改为(222,222,222)。当前选择的单选按钮显示屏幕文本或屏幕背景并不重要,因为您只需重新定义该特定的&#34;系统&#34;颜色。更改颜色后,请不要忘记选择背景或文本的首选颜色,然后再单击“确定”。

更改后,所有这些来自Node(我的案例中为Ember)的微红信息都清晰可见。

答案 34 :(得分:-1)

https://web.telegram.org/#/im?p=c1018013852_555990343349619165

此代码帮助设置前景色:\ x1b [38; 2; R; G; Bm

这可能在某处不起作用

答案 35 :(得分:-1)

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

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

GIF DEMO

您可以在https://console-colors.vercel.app/

使用它

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