2016-05-17 20 views
3

私は初心者ですが、ビルドシステム(GulpやGruntはありません)としてNPMだけでプロジェクトをセットアップしようとしていますが、これまではかなりうまく動作していますこの小さな道路ブロックのために。 私のpackage.jsonのスクリプトセクションは、そのようなことになります。NPM実行スクリプトで端末に色分けされました

"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" 
    } 

を私が成功したタスクを発表する通知を持っているが、理想的に私は、端末に直接いくつかの素晴らしい色付きのメッセージをしたいと思います。私は色のログを使ってこれをGulpで行うことができると知っていますが、それを可能にするCLIを備えたNPMパッケージを作ることはできません。 アイデアそれも可能ですか?

ありがとうございました。

+0

私のソリューションは受け入れられますか?そうでない場合は、どうしてですか? –

+0

[Linuxでエコーの出力色を変える方法](https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux) – j0k

答えて

0

あなたはこれらのANSI escape codes使用することができます。

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" 
+0

これは別の同様の質問からのコピー&ペーストされた回答です - https://stackoverflow.com/questions/5947742/how-to-change-the-output-color-of-echo-in-linux – silverlight513

+0

コピーによるダウンワード/その銀色が注意を引いたペースト。また、OPの質問に答えることもできないので、簡単な情報しか提供しません。 – shellscape

+0

ペーストされた回答がOPの質問に全く反応しないため、またこれをJSONファイルで使用する方法がないため、下降しています。 – LukyVj

関連する問題