由于眼睛的问题,我不得不将控制台背景色改为白色,但字体是灰色的,它使消息无法阅读。我怎样才能改变呢?
当前回答
var to_rgb = function (_text, _r, _g, _b) {
return "\x1b[38;2;" + _r + ";" + _g + ";" + _b + "m" + _text + "\x1b[0m";
};
此代码帮助设置前景色:\x1b[38;2;R;G;Bm
这在某些地方可能行不通
其他回答
没有库,没有复杂,只是简单:
console.log(red('Error!'));
function red(s) {
return '\033[31m' + s;
}
Sindre Sorhus设计的这个图书馆是目前最好的:
粉笔
高性能 不扩展String.prototype 富有表现力的API 嵌套样式的能力 干净和专注 自动检测颜色支持 积极维护 5500+模块使用
你可以使用下面的例子: https://help.ubuntu.com/community/CustomizingBashPrompt
也是nodeJs的一个要旨
例如,如果你想让部分文本显示为红色,只需执行console.log with:
"\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
内联typescript解决方案
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);
如果你想保持简单,而不使用任何外部模块/学习新的api /破解核心控制台功能:
const LCERROR = '\x1b[31m%s\x1b[0m'; //red
const LCWARN = '\x1b[33m%s\x1b[0m'; //yellow
const LCINFO = '\x1b[36m%s\x1b[0m'; //cyan
const LCSUCCESS = '\x1b[32m%s\x1b[0m'; //green
const logger = class {
static error(message, ...optionalParams) { console.error(LCERROR, message, ...optionalParams) }
static warn(message, ...optionalParams) { console.warn(LCWARN, message, ...optionalParams) }
static info(message, ...optionalParams) { console.info(LCINFO, message, ...optionalParams) }
static success(message, ...optionalParams) { console.info(LCSUCCESS, message, ...optionalParams) }
}
// then instead (as presented in the accepted answer)
// console.error(LCERROR, 'Error message in red.');
// you write:
logger.error('Error message in red.');
// or with multiple parameters (only the message will be red):
logger.error('Error message in red.', 1, false, null, {someKey: 'whatever'});
// or use backticks (template literal) instead multiple params:
logger.error(`This will be red as ${foo} and ${bar} too.`);
现在您可以像使用控制台一样使用记录器。没有新的API需要记住……通常你会把它放到一个模块(logger.js)中,并导出类,以便在你的应用程序中随处使用它,因为const logger = require('./logger');
推荐文章
- ReferenceError: description没有定义NodeJs
- console.log()和console.debug()的区别?
- 将一个二进制的NodeJS Buffer转换为JavaScript的ArrayBuffer
- 如何禁用标准错误流的日志记录?
- 如何获得十六进制颜色值而不是RGB值?
- AngularJS只适用于单页应用程序吗?
- 为什么“System.out。”println“工作在Android?
- 如何在vue-cli项目中更改端口号
- 同步和异步编程(在node.js中)的区别是什么?
- 如何编辑通过npm安装的节点模块?
- “node_modules”文件夹应该包含在git存储库中吗
- 将RGB转换为白色的RGBA
- 使用package.json在全局和本地安装依赖项
- this.libOptions.parse不是一个函数
- 对嵌套文件夹运行npm install的最好方法是什么?