2017-04-16 11 views
-1

これは可能ですか?私はnpmモジュールのチョークを使用してプロパティを色付けしたいので、JSON.stringifyして端末にオブジェクトの内容を表示すると、プロパティの値が私の選択した色として表示され、読みやすくなりました。だから、私はそこになっていたが、問題はその端末でもあるように、ほとんど思われる黄色端末のオブジェクトのプロパティ表示をカラーで表示する

に新しいプロパティ家族を表示していました

const arrObjects = [ 
    { 
    color: 'red', 
    fruit: 'apple' 
    }, 
    { 
    color: 'pink', 
    fruit: 'dragonfruit' 
    } 
]; 

const coloredProps = arrObjects.map(fruit => { 
    Object.defineProperty(fruit, chalk.yellow.bold('family'), { 
    value: 'healthy', 
    writeable: true, 
    configurable: true, 
    enumerable: true 
    }); 
}); 

console.log(JSON.stringify(arrObjects, null, 2)); 

私のようなものを考えていましたJSON.stringifyのためにプロパティをユニコードとして表示します。これを渡す方法はありますか?ここ

は私の結果である:

enter image description here

+1

はおそらく、すべての行を分割し、別々にそれぞれの行をログに記録し、それが色やない – charlietfl

答えて

0

用ストリップANSIユーティリティを試してみましたが、ANSIは、あなたのオブジェクトの値またはキーにエスケープ入れないでください。ディスプレイとデータが混在しているだけで、問題が発生します。

JSONのエンコーダは、通常の端末エミュレータで認識されていない彼らの\uXXXX表現を、使用して印刷不能またはUTF-8文字をエスケープ(あなたは\x1b\u001b、ないエスケープ表現で表さ実際文字が必要)。

コードでは基本的にconsole.log('\\u001b')が印刷されています。ダブルスラッシュに注意してください。ターミナルエミュレータはそれを認識しません。


あなたは次のことを試しましたか?

var util = require('util'); 
console.log(util.inspect(myObject, {colors:true})); 
+0

免責事項を必要とするかどうかを判断するために、プロパティ値を解析する必要があります:私は、チョークのプロジェクトのメンテナです。 – Qix

関連する問題