如何使用 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++,如何以彩色打印到标准输出,但前提是终端支持它?

使用 Yeoman 自定义 Generator,包含新建 Vue 模板案例

Yeoman - 无法安装生成器

Yeoman 中处理 Sass 文件的工作流程是啥?

如何获取正在运行的Yeoman生成器的当前路径