用NPM运行脚本彩色loginterminal

我试图用NPM作为一个构build系统(没有Gulp或Grunt)来设置一个项目,所以我是一个初学者,但到目前为止,除了这个小小的路障以外,它工作得非常好。 我的package.json脚本部分看起来像这样:

"scripts": { "clean:task": "rimraf dist/*", "clean:notify": "notify --t 'Cleaning done.' --m 'dist/ has been cleaned successfully.", "clean": "npm run clean:task -s && npm run clean:notify -s", "serve": "browser-sync start --p 'xxx.dev/app' --host 'xxx.dev' --port '3000' --open 'external' --f 'app'", "styles:task": "node-sass --output-style nested -o app/assets/css app/assets/css", "styles:notify": "notify --t 'Styles compilation' --m 'Styles have been compiled successfully'", "styles:build": "npm run styles:task && npm run autoprefixer", "imagemin": "imagemin app/assets/img dist/img -p", "scripts:lint": "jshint --reporter=node_modules/jshint-stylish app/assets/js/scripts.js" } 

我有通知,宣布成功的任务,但理想情况下,我想直接在terminal中一些不错的彩色消息。 我知道这可以通过彩色日志Gulp完成,但我不能find任何具有可以做到这一点的CLI的NPM包。 有任何想法吗 ? 这甚至有可能吗?

谢谢你的帮助。

您可以使用这些ANSI转义码 :

 Black 0;30 Dark Gray 1;30 Red 0;31 Light Red 1;31 Green 0;32 Light Green 1;32 Brown/Orange 0;33 Yellow 1;33 Blue 0;34 Light Blue 1;34 Purple 0;35 Light Purple 1;35 Cyan 0;36 Light Cyan 1;36 Light Gray 0;37 White 1;37 

然后在脚本中使用它们:

 RED='\033[0;31m' NC='\033[0m' # No Color printf "I ${RED}love${NC} Stack Overflow\n" 

用红色打印爱。

如果您使用的是echo命令,请确保使用-e标志来允许反斜杠转义。

 # Continued from above example echo -e "I ${RED}love${NC} Stack Overflow\n"