如何使用 Yeoman 记录彩色消息?
Posted
技术标签:
【中文标题】如何使用 Yeoman 记录彩色消息?【英文标题】:How to log a colored message with Yeoman? 【发布时间】:2013-08-23 15:46:31 【问题描述】:我试过console.log('message')
,但它返回的消息是黑色的。
有没有办法在生成器中记录彩色消息?
【问题讨论】:
【参考方案1】:您可以使用与生成器系统相同的颜色模块Chalk 为您的文本着色。
先安装:npm install --save chalk
然后:
var chalk = require('chalk');
this.log(chalk.bold.yellow('message'));
【讨论】:
感谢 Sindre,完美。 有没有办法保留输出中的颜色,例如在使用 gulp 和其他已经提供自己颜色的模块时? 你也可以在 yo 方法中做this.log(chalk.bold.yellow('message'));
。【参考方案2】:
根据Documentation,对于查看此问题的新用户console.log();
,在 Yeoman 中应该“从不”使用。而是使用generator.log();
,在实践中主要被视为this.log()
。
为了实现这种灵活性 [在各种用户界面中运行,而不仅仅是在终端中],Yeoman 提供了一组用户界面元素抽象。 作为作者,您有责任仅在与最终用户交互时使用这些抽象。 [强调。]使用其他方式可能会阻止您的生成器在不同的 Yeoman 工具中正确运行。
例如,切勿使用
console.log()
或process.stdout.write()
输出内容,这一点很重要。使用它们会隐藏不使用终端的用户的输出。相反,请始终依赖 UI 通用this.log()
方法,其中this
是当前生成器的上下文。
【讨论】:
以上是关于如何使用 Yeoman 记录彩色消息?的主要内容,如果未能解决你的问题,请参考以下文章
安装 Yeoman 后如何修复“yo: command not found”
使用 C/C++,如何以彩色打印到标准输出,但前提是终端支持它?