Comment changer la couleur de police de la console de node.js?
571
J'ai dû changer la couleur d'arrière-plan de la console en blanc à cause de problèmes oculaires, mais la police est de couleur grise et cela rend les messages illisibles. Comment puis-je le changer?
Au même endroit que vous avez déjà utilisé pour changer la couleur d'arrière-plan, vous pouvez changer les autres couleurs.
Dan D.20
@hippietrail, avez-vous trouvé une meilleure solution ou pouvez-vous accepter l'une des réponses à cette question?
nelsonic
Comment faites-vous cela dans Node.js pur? Sans couleurs ni autre emballage.
Costa
1
J'ai le même problème. Je soupçonne que @Viclib utilise des fenêtres (comme moi), c'est pourquoi les instructions pour changer les couleurs des terminaux sont un concept étranger. L'invite de commande Windows permet de modifier 2 couleurs de premier plan et 2 couleurs d'arrière-plan. Le nœud utilise d'autres couleurs que l'invite de commande Windows ne peut pas définir.
Greg Woods
2
J'ai découvert plus tard que mon modèle mental pour le fonctionnement des couleurs d'invite de commandes Windows était complètement faux. J'ai supposé à tort (en raison d'une interface utilisateur terrible) que vous ne pouvez modifier que les couleurs de premier plan et d'arrière-plan. C'est faux. Les 16 couleurs peuvent être utilisées par une application console, et il est essentiel de choisir des couleurs sensées pour les 16, et pour TOUJOURS utiliser la tuile de couleur 1 comme arrière-plan (et la tuile 9 pour "l'arrière-plan contextuel"). Ce fut une telle révélation pour moi, j'ai écrit un article de blog (un événement rare en effet). gregwoods.co.uk/2015/04/…
Greg Woods
Réponses:
1151
Vous trouverez ci-dessous la référence des couleurs du texte à commander lors de l'exécution de l'application node.js:
console.log('\x1b[36m%s\x1b[0m','I am cyan');//cyan
console.log('\x1b[33m%s\x1b[0m', stringToMakeYellow);//yellow
La note %sest l'endroit où dans la chaîne (le deuxième argument) est injecté. \x1b[0mréinitialise la couleur du terminal afin qu'elle ne continue plus d'être la couleur choisie après ce point.
Par exemple, \x1b[31mest une séquence d'échappement qui sera interceptée par votre terminal et lui demandera de passer à la couleur rouge. En fait, \x1bc'est le code du caractère de contrôle non imprimableescape . Les séquences d'échappement traitant uniquement des couleurs et des styles sont également connues sous le nom de code d'échappement ANSI et sont standardisées, elles doivent donc (devraient) fonctionner sur n'importe quelle plate-forme.
J'ai accepté cette question parce que c'est la plus paresseuse qui fonctionne, a beaucoup de couleurs et aucune dépendance. Si vous voulez une solution plus simple avec des dépendances, vérifiez la réponse de @ nelsonic qui suggère des bibliothèques très simples.
MaiaVictor
7
Où avez-vous trouvé cette référence? Que signifie chaque caractère d'une valeur de couleur?
Comment dois-je empêcher ces caractères de s'afficher lors de l'impression dans un fichier plutôt que sur la console?
Sky
1
Curieusement, sur Windows 10 PowerShell, le jaune devient blanc? Le jaune peut être fait fonctionner; la craie le fait. Cependant, cette réponse m'a évité d'ajouter de la craie comme dépendance pour quelques journaux minables, merci!
webelo
318
Plusieurs packages sont disponibles pour formater le texte de la console dans Node.js. Les plus populaires sont:
const chalk = require('chalk');
console.log(chalk.red('Text in red'));
COULEUR CLI:
const clc = require('cli-color');
console.log(clc.red('Text in red'));
COULEURS:
const colors = require('colors');
console.log('Text in red'.red);
Beaucoup de gens ont noté leur désapprobation de la colorsmodification du prototype String . Si vous préférez que vos prototypes soient laissés seuls, utilisez plutôt le code suivant:
const colors = require('colors/safe');
console.log(colors.red('Text in red'));
Il a même un support léger et simple pour les styles!
hippietrail
2
@devundef est d'accord avec vous sur l'ajout de méthodes à l'objet String. Cela vaut la peine de le mentionner à l'auteur du module sur GitHub. Et / ou suggérant un module / méthode alternatif avec un niveau de simplicité similaire.
nelsonic
3
Bien que je convienne que la réponse de MattJohnson (remplaçant les couleurs par défaut de la méthode util.inpect - voir ci-dessous) est meilleure que l'utilisation du module Couleurs, le module Couleurs ne nécessite aucune configuration et répond aux besoins de la grande majorité des utilisateurs, ce qui change simplement la couleur de la console Sortie .log. Bien sûr, "jouer avec les fonctions intégrées" est mauvais (d'accord à 100%) mais aucun code déployé ne doit contenir des instructions console.log, donc soyons pragmatiques à ce sujet. @devundef Les méthodes String supplémentaires ont-elles été ajoutées au prototype avec vos tests unitaires?
nelsonic
8
Les couleurs ont cela maintenant: var colors = require('colors/safe');puis utilisezcolors.red('left string all alone')
Laoujin
1
Bien repéré @Laoujin - la prochaine fois, n'hésitez pas à proposer une modification. J'ai modifié l'exemple de code pour les couleurs dans la réponse.
nelsonic
155
Si vous voulez changer les couleurs directement sans module, essayez
console.log('\x1b[36m','sometext','\x1b[0m');
Commencez \x1b[36mpar changer les couleurs 36, puis revenez à la couleur du terminal0 .
Je crois que l'OP ne veut pas imprimer du texte spécifique dans une couleur spécifique, mais toutes les sorties du terminal doivent être d'une couleur différente par défaut, peut-être même noire étant donné le fond blanc.
cwoebker
Il devrait ensuite modifier les paramètres de son terminal. Je suis sûr que c'est possible sous Linux. Aucune idée de Windows.
Dariuszp
14
\033[31mfonctionne mais \033[91mne fonctionne pas. Pour Ubuntu Terminal, cela devrait l'être \033[0m.
Redsandro
4
Et les évasions error: octal escape sequences "\033[31mServer ready @ #{app.get('port')}\033[91m" are not allowed
octales
4
\033[0mdevrait être utilisé pour ramener le texte à la normale, pas\033[91m
mollerhoj
31
Il s'agit d'une liste des couleurs disponibles (fond, premier plan) dans la console avec les actions disponibles (reset, reverse, ...).
console.log(colors.bg.Blue, colors.fg.White,"I am white message with blue background", colors.Reset);//don't forget "colors.Reset" to stop this color and return back to the default color
J'utilise le même et fonctionne bien, mais pour une raison quelconque, Dim ne fait rien? Je veux que l'effet de couleur grise, alors la pensée utiliserait la couleur blanche avec un effet sombre entraînerait une couleur grise, mais seule la couleur blanche n'imprime aucune dim. Une idée?
Angad
28
Selon cette documentation , vous pouvez modifier les couleurs en fonction du type de données de la sortie:
// you'll need the util modulevar util = require('util');// let's look at the defaults:
util.inspect.styles
{ special:'cyan',
number:'yellow',
boolean:'yellow',undefined:'grey',null:'bold',
string:'green',
date:'magenta',
regexp:'red'}// what are the predefined colors?
util.inspect.colors
{ bold:[1,22],
italic:[3,23],
underline:[4,24],
inverse:[7,27],
white:[37,39],
grey:[90,39],
black:[30,39],
blue:[34,39],
cyan:[36,39],
green:[32,39],
magenta:[35,39],
red:[31,39],
yellow:[33,39]}
Ceux-ci semblent être des codes d'échappement ANSI SGR, où le premier numéro est le code à émettre avant la sortie, et le deuxième numéro est le code à émettre après. Donc, si nous regardons le tableau des codes ANSI SGR sur Wikipedia , vous verrez que la plupart d'entre eux commencent par un nombre 30-37 pour définir la couleur de premier plan et se terminent par 39 pour réinitialiser la couleur de premier plan par défaut.
Donc, une chose que je n'aime pas, c'est la noirceur de certains d'entre eux. Surtout les dates. Allez-y et essayez new Date()dans la console. Le magenta foncé sur le noir est vraiment difficile à lire. Modifions cela à un magenta clair à la place.
// first define a new color
util.inspect.colors.lightmagenta =[95,39];// now assign it to the output for date types
util.inspect.styles.date ='lightmagenta';
Maintenant, quand vous essayez new Date() , la sortie est beaucoup plus lisible.
Si vous souhaitez définir automatiquement les couleurs lors du lancement du nœud, créez un script qui lance la repl, comme ceci:
// set your colors however desiredvar util = require('util');
util.inspect.colors.lightmagenta =[95,39];
util.inspect.styles.date ='lightmagenta';// start the repl
require('repl').start({});
Enregistrez ce fichier (par exemple, init.js), puis exécuteznode.exe init.js . Il définira les couleurs et lancera l'invite de commande node.js.
(Merci à loganfsmyth dans cette réponse pour l'idée de repl.)
@Sergey blink ne fonctionne pas non plus pour moi, il semble qu'il ne soit pas disponible dans Node
Sv443
@ Sv443 Mais cela fonctionne sur la capture d'écran :) Et la question portait sur Node. Je pensais que cela ne fonctionnait pas uniquement dans la console Windows. Quel OS utilisez-vous?
Sergey
2
@Sergey J'utilise Windows et j'ai essayé dans CMD et Powershell et les deux ne fonctionnent pas
Sv443
@Sergey Mes captures d'écran proviennent de l'application de terminal MacOS. Je crois que c'est quelque chose que votre application shell devrait prendre en charge. Si vous utilisez Windows, je vous suggère d'essayer d'installer Cygwin et d'essayer ceci sur bash. Je suis curieux d'en savoir aussi.
Shnd
@Shnd Je ne sais pas si c'est la même chose, mais je l'ai essayé sur git-bash et cela n'a pas fonctionné non plus.
Sergey
14
Un one-liner pratique que j'ai écrit pour les scripts npm qui ne peuvent pas avoir de dépendances:
const{ r, g, b, w, c, m, y, k }=[['r',1],['g',2],['b',4],['w',7],['c',6],['m',5],['y',3],['k',0],].reduce((cols, col)=>({...cols,[col[0]]: f =>`\x1b[3${col[1]}m${f}\x1b[0m`}),{})
console.log(`${g('I')} love ${r('Italy')}`)
Vous pouvez utiliser des couleurs pour le texte comme d'autres mentionnées dans leurs réponses.
Mais vous pouvez utiliser des emojis à la place! par exemple, vous pouvez utiliser Vous pouvez utiliser ⚠️pour les messages d'avertissement et les messages 🛑d'erreur.
Ou utilisez simplement ces carnets comme couleur:
📕: error message
📙: warning message
📗: ok status message
📘: action message
📓: canceled status message
📔:Or anything you like and want to recognize immediately by color
Prime:
Cette méthode vous aide également à analyser rapidement et à trouver des journaux directement dans le code source .
Mais la police emoji par défaut de linux n'est pas colorée par défaut et vous pouvez d'abord les rendre colorées.
Ce n'est pas simple lorsque vous découvrez qu'il ne fonctionne pas avec les objets de la manière dont la console les gère et qu'il ne respecte pas les types de flux de console ou la prise en charge TTY, ce qui crée d'autres problèmes. C'est juste un hack qui apportera beaucoup de problèmes sur la route.
vitaly-t
C'est à cela que sert
JSON.stringify
6
Il y a deux façons de regarder les couleurs changeantes pour une console Node.js aujourd'hui.
La première consiste à utiliser des bibliothèques à usage général qui peuvent décorer une chaîne de texte avec des balises de couleur, que vous sortez ensuite via la norme console.log .
Les meilleures bibliothèques pour cela aujourd'hui:
Et dans l'autre sens - patcher les méthodes de console existantes. Une telle bibliothèque - manakin vous permet de définir automatiquement les couleurs standard pour toutes les méthodes de la console ( log, warn, erroret info).
Une différence significative par rapport aux bibliothèques de couleurs génériques - il peut définir des couleurs globalement ou localement, tout en conservant une syntaxe et un format de sortie cohérents pour chaque méthode de console Node.js, que vous utilisez ensuite sans avoir à spécifier les couleurs, car elles sont toutes définies automatiquement .
J'ai dû changer la couleur d'arrière-plan de la console en blanc à cause de problèmes oculaires, mais la police est de couleur grise et cela rend les messages illisibles. Comment puis-je le changer?
Spécifiquement pour votre problème, voici la solution la plus simple:
var con = require('manakin').global;
con.log.color =30;// Use black color for console.log
Il définira la couleur noire pour chaque console.logappel dans votre application. Voir plus de codes couleurs .
Cela ne fonctionne pas avec la syntaxe de formatage. Exemple: console.info('Hello %s', 'World!')est censé s'afficher Hello World!, et non Hello %s World!.
Je suis tombé sur cette question et je voulais utiliser des couleurs sur stdout sans aucune dépendance. Cela combine certaines des autres grandes réponses ici.
Voici ce que j'ai. (Nécessite le nœud v4 ou supérieur)
Journal à colorier simple. Prise en charge de l'inspection des objets et de la mise à jour sur une seule ligne Ce package repeint simplement la console.
Je ne veux aucune dépendance pour cela et seuls ceux-ci ont fonctionné pour moi sur OS X. Tous les autres exemples de réponses ici m'ont donné des Octal literalerreurs.
J'ai trouvé cette réponse ci-dessus ( https://stackoverflow.com/a/41407246/4808079 ) très utile, mais incomplète. Si vous ne souhaitiez colorier quelque chose qu'une seule fois, je suppose que ce serait bien, mais je pense que le partager sous une forme fonctionnelle exécutable est beaucoup plus applicable aux cas d'utilisation réels.
Cela dépend quelque peu de la plateforme sur laquelle vous vous trouvez. La façon la plus courante de procéder consiste à imprimer des séquences d'échappement ANSI. Pour un exemple simple, voici du code python des scripts de construction de blender:
// This is a object for use ANSI escape to color the text in the terminalconst bColors ={
HEADER :'\033[95m',
OKBLUE :'\033[94m',
OKGREEN :'\033[92m',
WARNING :'\033[93m',
FAIL :'\033[91m',
ENDC :'\033[0m',
BOLD :'\033[1m',
UNDERLINE :'\033[4m'}
Pour utiliser un code comme celui-ci, vous pouvez faire quelque chose comme
console.log(`${bColors.WARNING}My name is sami ${bColors.ENDC}`)
J'obtiens "Les séquences d'échappement octales ne sont pas autorisées en mode strict."
lucaswxp
3
var colorSet ={Reset:"\x1b[0m",Red:"\x1b[31m",Green:"\x1b[32m",Yellow:"\x1b[33m",Blue:"\x1b[34m",Magenta:"\x1b[35m"};var funcNames =["info","log","warn","error"];var colors =[colorSet.Green, colorSet.Blue, colorSet.Yellow, colorSet.Red];for(var i =0; i < funcNames.length; i++){let funcName = funcNames[i];let color = colors[i];let oldFunc = console[funcName];
console[funcName]=function(){var args =Array.prototype.slice.call(arguments);if(args.length){
args =[color + args[0]].concat(args.slice(1), colorSet.Reset);}
oldFunc.apply(null, args);};}// Test:
console.info("Info is green.");
console.log("Log is blue.");
console.warn("Warn is orange.");
console.error("Error is red.");
console.info("--------------------");
console.info("Formatting works as well. The number = %d",123);
cela ne fonctionnera pas correctement dans Node.js lors d'une redirection vers un fichier journal, par exemple.
vitaly-t
2
J'ai créé mon propre module, StyleMe . Je l'ai fait pour que je puisse faire beaucoup avec peu de frappe. Exemple:
varStyleMe= require('styleme');StyleMe.extend()// extend the string prototype
console.log("gre{Hello} blu{world}!".styleMe())// Logs hello world! with 'hello' being green, and 'world' being blue with '!' being normal.
Il peut également être imbriqué:
console.log("This is normal red{this is red blu{this is blue} back to red}".styleMe())
Ou, si vous ne souhaitez pas étendre le prototype de chaîne, vous pouvez simplement choisir l'une des 3 autres options:
console.log(styleme.red("a string"))
console.log("Hello, this is yellow text".yellow().end())
console.log(styleme.style("some text","red,bbl"))
Bien que le lien que vous avez fourni puisse répondre à la question. Il est préférable de mettre les éléments essentiels de votre solution directement dans votre réponse au cas où la page du lien expirera à l'avenir.
Kmeixner
1
J'ai vraiment aimé la réponse de @ Daniel, mais les fonctions console.log {color} ne fonctionnaient pas de la même manière que console.log classique. J'ai apporté quelques modifications, et maintenant tous les paramètres des nouvelles fonctions seront passés à console.log (ainsi que les codes de couleur).
De façon simple, en ajoutant de la couleur temporelle au message, vous n'avez pas besoin de changer votre code, utilisez keep your console.log ('msg') ou console.err ('error')
Si vous utilisez Windows CMD, accédez aux Propriétés / Couleurs du terminal (CMD en haut à gauche), puis redéfinissez la valeur RVB de la couleur offensive. Dans mon cas, je crois que c'est le cinquième carré de couleur à partir de la gauche, que j'ai changé en (222,222,222). Peu importe si le bouton radio actuellement sélectionné affiche Texte d'écran ou Arrière-plan d'écran, car vous redéfinissez simplement cette couleur "système" spécifique. Une fois que vous avez changé la couleur, n'oubliez pas de sélectionner de nouveau la couleur préférée pour l'arrière-plan ou le texte avant de cliquer sur OK.
Après le changement, tous ces messages rougeâtres de Node (Ember dans mon cas) sont clairement visibles.
Il s'agit d'une approche pour Windows 10 (peut-être pour 7) et elle change le schéma de couleurs (thème) pour cmd, le terminal npm lui-même, pas seulement la sortie de la console pour une application particulière.
J'ai trouvé le plugin Windows fonctionnel - Color Tool , qui est probablement développé sous l'égide de Windows. Une description est disponible sur le lien .
J'ai ajouté le répertoire colortool dans la variable de chemin de l'environnement système et maintenant il est disponible chaque fois que je démarre le terminal (invite de commande NodeJs, cmd).
Réponses:
Vous trouverez ci-dessous la référence des couleurs du texte à commander lors de l'exécution de l'application node.js:
La note
%s
est l'endroit où dans la chaîne (le deuxième argument) est injecté.\x1b[0m
réinitialise la couleur du terminal afin qu'elle ne continue plus d'être la couleur choisie après ce point.Référence des couleurs
ÉDITER:
Par exemple,
\x1b[31m
est une séquence d'échappement qui sera interceptée par votre terminal et lui demandera de passer à la couleur rouge. En fait,\x1b
c'est le code du caractère de contrôle non imprimableescape
. Les séquences d'échappement traitant uniquement des couleurs et des styles sont également connues sous le nom de code d'échappement ANSI et sont standardisées, elles doivent donc (devraient) fonctionner sur n'importe quelle plate-forme.Wikipedia a une belle comparaison de la façon dont les différents terminaux affichent les couleurs https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
la source
1;
pour des couleurs vives, c'est-à-dire "\ x1b [1; 34m" == bleu clair ...Plusieurs packages sont disponibles pour formater le texte de la console dans Node.js. Les plus populaires sont:
chalk
cli-color
colors
Usage:
CRAIE:
COULEUR CLI:
COULEURS:
Beaucoup de gens ont noté leur désapprobation de la
colors
modification du prototype String . Si vous préférez que vos prototypes soient laissés seuls, utilisez plutôt le code suivant:la source
var colors = require('colors/safe');
puis utilisezcolors.red('left string all alone')
Si vous voulez changer les couleurs directement sans module, essayez
Commencez
\x1b[36m
par changer les couleurs36
, puis revenez à la couleur du terminal0
.Voici une liste des codes de couleur ANSI
la source
pour colorer votre sortie Vous pouvez utiliser des exemples à partir de là:
https://help.ubuntu.com/community/CustomizingBashPrompt
Aussi un Gist pour nodeJs
Par exemple, si vous voulez une partie du texte en rouge, faites simplement console.log avec:
Sur cette base, j'ai créé l'extension "colog" pour Node.js. Vous pouvez l'installer en utilisant:
Repo et npm: https://github.com/dariuszp/colog
la source
\033[31m
fonctionne mais\033[91m
ne fonctionne pas. Pour Ubuntu Terminal, cela devrait l'être\033[0m
.error: octal escape sequences "\033[31mServer ready @ #{app.get('port')}\033[91m" are not allowed
\033[0m
devrait être utilisé pour ramener le texte à la normale, pas\033[91m
Il s'agit d'une liste des couleurs disponibles (fond, premier plan) dans la console avec les actions disponibles (reset, reverse, ...).
Utilisez-le comme suit:
Vous pouvez également installer:
L'informatique vous donnera une sortie plus proche de la console côté client:
la source
Selon cette documentation , vous pouvez modifier les couleurs en fonction du type de données de la sortie:
Ceux-ci semblent être des codes d'échappement ANSI SGR, où le premier numéro est le code à émettre avant la sortie, et le deuxième numéro est le code à émettre après. Donc, si nous regardons le tableau des codes ANSI SGR sur Wikipedia , vous verrez que la plupart d'entre eux commencent par un nombre 30-37 pour définir la couleur de premier plan et se terminent par 39 pour réinitialiser la couleur de premier plan par défaut.
Donc, une chose que je n'aime pas, c'est la noirceur de certains d'entre eux. Surtout les dates. Allez-y et essayez
new Date()
dans la console. Le magenta foncé sur le noir est vraiment difficile à lire. Modifions cela à un magenta clair à la place.Maintenant, quand vous essayez
new Date()
, la sortie est beaucoup plus lisible.Si vous souhaitez définir automatiquement les couleurs lors du lancement du nœud, créez un script qui lance la repl, comme ceci:
Enregistrez ce fichier (par exemple,
init.js
), puis exécuteznode.exe init.js
. Il définira les couleurs et lancera l'invite de commande node.js.(Merci à loganfsmyth dans cette réponse pour l'idée de repl.)
la source
Cette bibliothèque de Sindre Sorhus est la meilleure du moment:
craie
String.prototype
la source
Par exemple, si vous voulez avoir un texte Dim, rouge avec un fond bleu, vous pouvez le faire en Javascript comme ceci:
L'ordre des couleurs et des effets ne semble pas si important, mais n'oubliez pas de réinitialiser les couleurs et les effets à la fin.
la source
Un one-liner pratique que j'ai écrit pour les scripts npm qui ne peuvent pas avoir de dépendances:
Modifier:
r,g,b,w,c,m,y,k
signifie rouge, vert, bleu, blanc, cyan, magenta, jaune et noir (k)la source
Emoji
Vous pouvez utiliser des couleurs pour le texte comme d'autres mentionnées dans leurs réponses.
Mais vous pouvez utiliser des emojis à la place! par exemple, vous pouvez utiliser Vous pouvez utiliser
⚠️
pour les messages d'avertissement et les messages🛑
d'erreur.Ou utilisez simplement ces carnets comme couleur:
Prime:
Cette méthode vous aide également à analyser rapidement et à trouver des journaux directement dans le code source .
Mais la police emoji par défaut de linux n'est pas colorée par défaut et vous pouvez d'abord les rendre colorées.
la source
Pour une alternative populaire aux couleurs qui ne dérange pas avec les méthodes intégrées de l'objet String, je recommande de vérifier cli-color .
Inclut les couleurs et les styles chaînables tels que gras, italique et souligné.
Pour une comparaison des différents modules de cette catégorie, voir ici .
la source
Pas de bibliothèques, pas de complications, tout simplement:
la source
Il y a deux façons de regarder les couleurs changeantes pour une console Node.js aujourd'hui.
La première consiste à utiliser des bibliothèques à usage général qui peuvent décorer une chaîne de texte avec des balises de couleur, que vous sortez ensuite via la norme
console.log
.Les meilleures bibliothèques pour cela aujourd'hui:
Et dans l'autre sens - patcher les méthodes de console existantes. Une telle bibliothèque - manakin vous permet de définir automatiquement les couleurs standard pour toutes les méthodes de la console (
log
,warn
,error
etinfo
).Une différence significative par rapport aux bibliothèques de couleurs génériques - il peut définir des couleurs globalement ou localement, tout en conservant une syntaxe et un format de sortie cohérents pour chaque méthode de console Node.js, que vous utilisez ensuite sans avoir à spécifier les couleurs, car elles sont toutes définies automatiquement .
Spécifiquement pour votre problème, voici la solution la plus simple:
Il définira la couleur noire pour chaque
console.log
appel dans votre application. Voir plus de codes couleurs .Couleurs par défaut utilisées par manakin :
la source
J'ai surchargé les méthodes de la console.
La sortie est.
la source
console.info('Hello %s', 'World!')
est censé s'afficherHello World!
, et nonHello %s World!
.Je suis tombé sur cette question et je voulais utiliser des couleurs sur stdout sans aucune dépendance. Cela combine certaines des autres grandes réponses ici.
Voici ce que j'ai. (Nécessite le nœud v4 ou supérieur)
Exigez simplement le fichier, puis utilisez-le comme ceci:
Les codes couleurs prédéfinis sont disponibles ici
la source
console de peinture
Journal à colorier simple. Prise en charge de l'inspection des objets et de la mise à jour sur une seule ligne Ce package repeint simplement la console.
installer
usage
démo
la source
Je ne veux aucune dépendance pour cela et seuls ceux-ci ont fonctionné pour moi sur OS X. Tous les autres exemples de réponses ici m'ont donné des
Octal literal
erreurs.source: https://coderwall.com/p/yphywg/printing-colorful-text-in-terminal-when-run-node-js-script
la source
J'ai trouvé cette réponse ci-dessus ( https://stackoverflow.com/a/41407246/4808079 ) très utile, mais incomplète. Si vous ne souhaitiez colorier quelque chose qu'une seule fois, je suppose que ce serait bien, mais je pense que le partager sous une forme fonctionnelle exécutable est beaucoup plus applicable aux cas d'utilisation réels.
Utilisez-le comme ceci:
la source
logger / index.js
app.js
Ensuite, utilisez-le comme:
la source
la source
la source
Vous pouvez également utiliser Colorworks .
Usage:
Pour vous faciliter la vie, vous pouvez également créer une fonction avec.
Vous pouvez maintenant faire:
la source
Refroidisseurs
Il est assez bon à utiliser ou à étendre. Vous pouvez utiliser simplement:
Ou avec config:
Et semble vraiment drôle à étendre:
Voir le module Coolors
la source
J'ai créé mon propre module, StyleMe . Je l'ai fait pour que je puisse faire beaucoup avec peu de frappe. Exemple:
Il peut également être imbriqué:
Ou, si vous ne souhaitez pas étendre le prototype de chaîne, vous pouvez simplement choisir l'une des 3 autres options:
la source
Dans ubuntu, vous pouvez simplement utiliser des codes de couleur:
la source
require
?sys
était utilisé n'importe où. En fait, ce n'est pas nécessaire de nos jours!node-colorify
Fournit des fonctions pour imprimer des textes en couleur et également pour effectuer un formatage de texte tel que gras, clignotant, etc.
la source
J'ai vraiment aimé la réponse de @ Daniel, mais les fonctions console.log {color} ne fonctionnaient pas de la même manière que console.log classique. J'ai apporté quelques modifications, et maintenant tous les paramètres des nouvelles fonctions seront passés à console.log (ainsi que les codes de couleur).
la source
2017:
De façon simple, en ajoutant de la couleur temporelle au message, vous n'avez pas besoin de changer votre code, utilisez keep your console.log ('msg') ou console.err ('error')
la source
Si vous utilisez Windows CMD, accédez aux Propriétés / Couleurs du terminal (CMD en haut à gauche), puis redéfinissez la valeur RVB de la couleur offensive. Dans mon cas, je crois que c'est le cinquième carré de couleur à partir de la gauche, que j'ai changé en (222,222,222). Peu importe si le bouton radio actuellement sélectionné affiche Texte d'écran ou Arrière-plan d'écran, car vous redéfinissez simplement cette couleur "système" spécifique. Une fois que vous avez changé la couleur, n'oubliez pas de sélectionner de nouveau la couleur préférée pour l'arrière-plan ou le texte avant de cliquer sur OK.
Après le changement, tous ces messages rougeâtres de Node (Ember dans mon cas) sont clairement visibles.
la source
Il s'agit d'une approche pour Windows 10 (peut-être pour 7) et elle change le schéma de couleurs (thème) pour cmd, le terminal npm lui-même, pas seulement la sortie de la console pour une application particulière.
J'ai trouvé le plugin Windows fonctionnel - Color Tool , qui est probablement développé sous l'égide de Windows. Une description est disponible sur le lien .
J'ai ajouté le répertoire colortool dans la variable de chemin de l'environnement système et maintenant il est disponible chaque fois que je démarre le terminal (invite de commande NodeJs, cmd).
la source