Musiałem zmienić kolor tła konsoli na biały z powodu problemów z oczami, ale czcionka jest w kolorze szarym i sprawia, że wiadomości są nieczytelne. Jak mogę to zmienić?
W tym samym miejscu, w którym już zmieniłeś kolor tła, możesz zmienić inne kolory.
Dan D.
@hippietrail, czy znaleźliście lepsze rozwiązanie, czy możecie zaakceptować jedną z odpowiedzi na to pytanie?
nelsonic
Jak to zrobić w czystym Node.js? Bez kolorów lub innego opakowania.
Costa
1
Mam ten sam problem. Podejrzewam, że @Viclib używa systemu Windows (tak jak ja), dlatego instrukcje zmiany kolorów terminali są obcą koncepcją. Wiersz polecenia systemu Windows umożliwia zmianę 2 kolorów pierwszego planu i 2 kolorów tła. Węzeł używa innych kolorów, których wiersz poleceń systemu Windows nie może zdefiniować.
Greg Woods,
2
Później odkryłem, że mój model mentalny dotyczący działania kolorów wiersza polecenia systemu Windows był całkowicie błędny. Niepoprawnie założyłem (z powodu okropnego interfejsu użytkownika), że można zmieniać tylko kolory pierwszego planu i tła. To jest źle. Aplikacja na konsolę może używać wszystkich 16 kolorów i bardzo ważne jest wybranie rozsądnych kolorów dla wszystkich 16, a ZAWSZE należy używać kafelka 1 jako tła (kafelka 9 dla „wyskakującego tła”). To było dla mnie takie objawienie, napisałem wpis na blogu (rzeczywiście rzadkie wydarzenie). gregwoods.co.uk/2015/04/…
Greg Woods,
Odpowiedzi:
1149
Poniżej znajduje się odniesienie kolorów tekstu do polecenia podczas uruchamiania aplikacji node.js:
console.log('\x1b[36m%s\x1b[0m','I am cyan');//cyan
console.log('\x1b[33m%s\x1b[0m', stringToMakeYellow);//yellow
Uwaga %sdotyczy miejsca, w które zostaje wstrzyknięty drugi argument. \x1b[0mresetuje kolor terminala, aby po tym momencie nie był już wybranym kolorem.
Na przykład \x1b[31mjest sekwencją ucieczki, która zostanie przechwycona przez twój terminal i instruuje go, aby przełączył się na czerwony kolor. W rzeczywistości \x1bjest to kod kontrolnego niedrukowalnego znakuescape . Sekwencje specjalne dotyczące tylko kolorów i stylów są również znane jako kod specjalny ANSI i są znormalizowane, dlatego też powinny (powinny) działać na dowolnej platformie.
Przyjąłem to pytanie, ponieważ jest to najbardziej leniwe, które działa, ma wiele kolorów i żadnych zależności. Jeśli chcesz prostszego rozwiązania z zależnościami, sprawdź odpowiedź @ nelsonic, która sugeruje bardzo proste biblioteki.
MaiaVictor
7
Gdzie znalazłeś to odniesienie? Co oznacza każda postać w wartości koloru?
giorgos.nl
10
@ giorgos29cm → patrz tutaj . Btw, dodaj 1;dla jasnych kolorów, tj. „\ X1b [1; 34m” == jasnoniebieski ...
Frank Nocke
2
Jak mam zapobiec wyświetlaniu się tych znaków podczas drukowania do pliku zamiast na konsoli?
Sky
1
Co ciekawe, w Windows 10 Power Shell żółty okazuje się być biały? Żółty może sprawić, że zadziała; kreda to robi. Jednak ta odpowiedź uratowała mnie przed dodaniem kredy jako zależności dla kilku marnych dzienników, dzięki!
webelo
318
W Node.js. dostępnych jest wiele pakietów do formatowania tekstu konsoli. Najpopularniejsze to:
@devundef zgadza się z Tobą w sprawie dodania metod do obiektu String. Warto o tym wspomnieć autorowi modułu na GitHub. I / lub sugerowanie alternatywnego modułu / metody o podobnym poziomie prostoty.
nelsonic
3
Chociaż zgadzam się, że odpowiedź MattJohnsona (przesłaniająca domyślne kolory metody util.inpect - patrz poniżej) jest lepsza niż korzystanie z modułu Kolory, moduł Kolory wymaga zerowej konfiguracji i odpowiada potrzebom zdecydowanej większości użytkowników, którzy po prostu zmieniają kolor konsoli .log wyjście. Jasne, „bałagan z wbudowanymi funkcjami” jest zły (zgadzam się w 100%), ale żaden wdrożony kod nie powinien zawierać instrukcji console.log, więc bądźmy pragmatyczni. @devundef Czy dodatkowe metody String dodane do prototypowego bałaganu podczas testów jednostkowych?
nelsonic
8
Kolory ma to teraz: var colors = require('colors/safe');a następnie użyjcolors.red('left string all alone')
Laoujin
1
Dobrze zauważony @Laoujin - następnym razem możesz zaproponować edycję. W odpowiedzi zmieniłem przykład kodu dla kolorów.
nelsonic
155
Jeśli chcesz bezpośrednio zmienić kolory bez modułu, spróbuj
console.log('\x1b[36m','sometext','\x1b[0m');
Najpierw \x1b[36mzmień kolory na, 36a następnie z powrotem na kolor terminala 0.
Wierzę, że OP nie chce drukować określonego tekstu w określonym kolorze, ale domyślnie wszystkie dane wyjściowe terminala są w innym kolorze, być może nawet czarny, biorąc pod uwagę białe tło.
cwoebker
Następnie powinien zmienić ustawienia swojego terminala. Jestem pewien, że jest to możliwe w systemie Linux. Nie mam pojęcia o systemie Windows.
Dariuszp
14
\033[31mdziała, ale \033[91mnie działa. W przypadku terminala Ubuntu tak powinno być \033[0m.
Redsandro
4
I ucieczki ósemkowe nie wydają się działać:error: octal escape sequences "\033[31mServer ready @ #{app.get('port')}\033[91m" are not allowed
jcollum
4
\033[0mpowinien zostać użyty do przywrócenia tekstu do normalnego, nie\033[91m
mollerhoj
31
To jest lista dostępnych kolorów (tło, pierwszy plan) w konsoli z dostępnymi akcjami (reset, odwrócenie, ...).
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
Używam tego samego i działa dobrze, ale z jakiegoś powodu Dim nic nie robi? Chcę uzyskać efekt koloru szarego, więc myślę, że użyłby koloru białego z efektem przyciemnienia, dałoby to kolor szary, ale tylko białe kolory nie byłyby przyciemnione. Dowolny pomysł?
Angad
28
W tej dokumentacji można zmieniać kolory w zależności od typu danych wyjściowych:
// 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]}
Wyglądają na kody ucieczki ANSI SGR, gdzie pierwsza liczba to kod, który należy wysłać przed wyjściem, a druga liczba to kod, który należy wysłać później. Więc jeśli spojrzymy na tabelę kodów ANSI SGR na Wikipedii , zobaczysz, że większość z nich zaczyna się od liczby 30-37, aby ustawić kolor pierwszego planu, a kończy 39, aby zresetować do domyślnego koloru pierwszego planu.
Jedną z rzeczy, których nie lubię, jest to, jak ciemne są niektóre z nich. Zwłaszcza daty. Śmiało i spróbuj new Date()w konsoli. Ciemna magenta na czerni jest naprawdę trudna do odczytania. Zamiast tego zmieńmy to na jasnopurpurowy.
// 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';
Teraz, gdy spróbujesz new Date(), wynik jest znacznie bardziej czytelny.
Jeśli chcesz ustawić kolory automatycznie podczas uruchamiania węzła, utwórz skrypt uruchamiający replikę, w następujący sposób:
// 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({});
Zapisz ten plik (na przykład init.js), a następnie uruchom node.exe init.js. Ustawi kolory i uruchomi wiersz poleceń node.js.
(Dzięki loganfsmyth w tej odpowiedzi za pomysł na repl.)
@Sergey blink również nie działa dla mnie, wygląda na to, że nie jest dostępny w węźle
Sv443
@ Sv443 Ale to działa na zrzucie ekranu :) A pytanie dotyczyło węzła. Myślałem, że to nie działa tylko w konsoli Windows. Z jakiego systemu operacyjnego korzystasz?
Sergey,
2
@Sergey Korzystam z systemu Windows i wypróbowałem w CMD i Powershell i oba nie działają
Sv443
@Sergey Moje zrzuty ekranu pochodzą z aplikacji terminalowej MacOS. Wierzę, że jest to coś, co powinna obsługiwać twoja aplikacja powłoki. Jeśli używasz systemu Windows, sugeruję spróbować zainstalować Cygwin i wypróbować to na bash. Też jestem ciekawy o tym.
Shnd,
@Shnd Nie jestem pewien, czy to jest to samo, ale wypróbowałem to na git-bash i to też nie działało.
Siergiej
14
Przydatny jednuliniowy skrypt napisany dla skryptów npm, które nie mogą mieć zależności:
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')}`)
Wydaje się przydatny, ale czy możesz to wyjaśnić? Tryb detekcji włączony: ah ok, rgbwc ... oznacza czerwony, zielony, niebieski, biały, cyjan, magenta, żółty i k?
538ROMEO,
10
Dla popularnej alternatywy dla kolorów, które nie zadzierają z wbudowanymi metodami obiektu String, polecam sprawdzenie cli-color .
Obejmuje zarówno kolory, jak i łańcuchowe style, takie jak pogrubienie, kursywa i podkreślenie.
Porównanie różnych modułów w tej kategorii znajduje się tutaj .
Nie jest to proste, gdy dowiadujesz się, że nie działa z obiektami w sposób, w jaki obsługuje je konsola, i że nie szanuje typów strumienia konsoli lub obsługi TTY, co stwarza dalsze problemy. To tylko hack, który przyniesie wiele problemów na drodze.
vitaly-t
To, co jest dla JSON.stringify
wayofthefuture
10
Emoji
Możesz używać kolorów w tekście, jak inni wymienili w swoich odpowiedziach.
Ale zamiast tego możesz używać emoji ! na przykład możesz użyć Możesz użyć ⚠️do komunikatów ostrzegawczych i 🛑komunikatów o błędach.
Lub po prostu użyj tych notatników jako koloru:
📕: error message
📙: warning message
📗: ok status message
📘: action message
📓: canceled status message
📔:Or anything you like and want to recognize immediately by color
Premia:
Ta metoda pomaga również szybko skanować i znajdować dzienniki bezpośrednio w kodzie źródłowym .
Ale domyślna czcionka emoji linuksa nie jest domyślnie kolorowa i możesz najpierw sprawić, by były kolorowe.
Istnieją dziś dwa sposoby zmiany kolorów konsoli Node.js.
Jednym z nich są biblioteki ogólnego przeznaczenia, które mogą ozdobić ciąg tekstowy za pomocą znaczników kolorów, które następnie wyprowadza się przez standard console.log.
I w drugą stronę - załatanie istniejących metod konsoli. Jednym z takich biblioteka - Manakin pozwala automatycznie ustawić standardowe kolory dla wszystkich metod Console ( log, warn, errori info).
Jedna znacząca różnica w stosunku do ogólnych bibliotek kolorów - może ustawiać kolory globalnie lub lokalnie, zachowując spójną składnię i format wyjściowy dla każdej metody konsoli Node.js, której następnie używasz bez konieczności określania kolorów, ponieważ wszystkie są ustawiane automatycznie .
Musiałem zmienić kolor tła konsoli na biały z powodu problemów z oczami, ale czcionka jest w kolorze szarym i sprawia, że wiadomości są nieczytelne. Jak mogę to zmienić?
Oto najprostsze rozwiązanie konkretnego problemu:
var con = require('manakin').global;
con.log.color =30;// Use black color for console.log
Ustawi kolor czarny dla każdego console.logpołączenia w aplikacji. Zobacz więcej kodów kolorów .
Przeszedłem przez to pytanie i chciałem użyć kilku kolorów na standardowym wyjściu bez żadnych zależności. Łączy to niektóre inne świetne odpowiedzi tutaj.
Uznałem tę odpowiedź powyżej ( https://stackoverflow.com/a/41407246/4808079 ) bardzo przydatną, ale niekompletną. Jeśli chciałbyś kiedyś pokolorować coś tylko raz, myślę, że byłoby dobrze, ale myślę, że udostępnienie go w funkcjonalnej formie funkcjonalnej jest o wiele bardziej przydatne w rzeczywistych przypadkach użycia.
To nieco zależy od tego, na jakiej platformie jesteś. Najczęstszym sposobem na to jest wydrukowanie sekwencji ucieczki ANSI. Dla prostego przykładu oto kod Pythona ze skryptów kompilacji blendera:
// 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'}
Aby użyć takiego kodu, możesz zrobić coś takiego
console.log(`${bColors.WARNING}My name is sami ${bColors.ENDC}`)
Otrzymuję komunikat: „Sekwencyjne sekwencje specjalne nie są dozwolone w trybie ścisłym”.
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);
nie będzie to działało poprawnie w Node.js po przekierowaniu do pliku dziennika, na przykład.
vitaly-t
2
Stworzyłem własny moduł StyleMe . Zrobiłem to, aby móc dużo pisać przy małym pisaniu. Przykład:
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.
Można go również zagnieżdżać:
console.log("This is normal red{this is red blu{this is blue} back to red}".styleMe())
Lub, jeśli nie chcesz rozszerzać prototypu łańcucha, możesz wybrać jedną z 3 innych opcji:
console.log(styleme.red("a string"))
console.log("Hello, this is yellow text".yellow().end())
console.log(styleme.style("some text","red,bbl"))
Podany przez Ciebie link może odpowiedzieć na pytanie. Najważniejsze części rozwiązania najlepiej umieścić bezpośrednio w odpowiedzi na wypadek, gdyby strona w linku wygasła w przyszłości.
Kmeixner
1
Naprawdę podobała mi się odpowiedź @ Daniela, ale funkcje console.log {color} nie działały tak samo, jak zwykłe console.log. Wprowadziłem kilka zmian, a teraz wszystkie parametry nowych funkcji zostaną przekazane do pliku console.log (a także kody kolorów).
Jeśli używasz Windows CMD, przejdź do terminalu Właściwości / Kolory (CMD u góry po lewej), a następnie ponownie zdefiniuj wartość RGB ofensywnego koloru. W moim przypadku uważam, że jest to piąty kwadrat od lewej, który zmieniłem na (222 222 222). Nie ma znaczenia, czy aktualnie wybrany przycisk radiowy wyświetla tekst ekranu lub tło ekranu, ponieważ właśnie redefiniujesz ten konkretny „systemowy” kolor. Po zmianie koloru nie zapomnij wybrać preferowanego koloru tła lub tekstu przed kliknięciem OK.
Po zmianie wszystkie te czerwonawe wiadomości z Węzła (w moim przypadku Ember) są wyraźnie widoczne.
Jest to podejście do systemu Windows 10 (może 7) i zmienia schemat kolorów (motyw) dla samego cmd, samego terminala npm, nie tylko wyjścia konsoli dla konkretnej aplikacji.
Znalazłem działającą wtyczkę Windows - Color Tool , która jest prawdopodobnie opracowana pod parasolem Windows. Opis jest dostępny pod linkiem .
Dodałem katalog colortool do zmiennej systemowej ścieżki środowiska, a teraz jest on dostępny za każdym razem, gdy uruchamiam terminal (wiersz poleceń NodeJs, cmd).
Odpowiedzi:
Poniżej znajduje się odniesienie kolorów tekstu do polecenia podczas uruchamiania aplikacji node.js:
Uwaga
%s
dotyczy miejsca, w które zostaje wstrzyknięty drugi argument.\x1b[0m
resetuje kolor terminala, aby po tym momencie nie był już wybranym kolorem.Kolory odniesienia
EDYTOWAĆ:
Na przykład
\x1b[31m
jest sekwencją ucieczki, która zostanie przechwycona przez twój terminal i instruuje go, aby przełączył się na czerwony kolor. W rzeczywistości\x1b
jest to kod kontrolnego niedrukowalnego znakuescape
. Sekwencje specjalne dotyczące tylko kolorów i stylów są również znane jako kod specjalny ANSI i są znormalizowane, dlatego też powinny (powinny) działać na dowolnej platformie.Wikipedia ma ładne porównanie tego, jak różne terminale wyświetlają kolory https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
źródło
1;
dla jasnych kolorów, tj. „\ X1b [1; 34m” == jasnoniebieski ...W Node.js. dostępnych jest wiele pakietów do formatowania tekstu konsoli. Najpopularniejsze to:
chalk
cli-color
colors
Stosowanie:
KREDA:
CLI-COLOR:
ZABARWIENIE:
Wiele osób zauważyło swoją dezaprobatę dla
colors
zmiany prototypu String . Jeśli wolisz pozostawić swoje prototypy w spokoju, użyj następującego kodu:źródło
var colors = require('colors/safe');
a następnie użyjcolors.red('left string all alone')
Jeśli chcesz bezpośrednio zmienić kolory bez modułu, spróbuj
Najpierw
\x1b[36m
zmień kolory na,36
a następnie z powrotem na kolor terminala0
.Oto lista kodów kolorów ANSI
źródło
pokolorować wydruk Możesz użyć przykładów stamtąd:
https://help.ubuntu.com/community/CustomizingBashPrompt
Również Gist dla nodeJs
Na przykład, jeśli chcesz część tekstu w kolorze czerwonym, po prostu wykonaj plik console.log z:
Na tej podstawie utworzyłem rozszerzenie „colog” dla Node.js. Możesz go zainstalować za pomocą:
Repo i npm: https://github.com/dariuszp/colog
źródło
\033[31m
działa, ale\033[91m
nie działa. W przypadku terminala Ubuntu tak powinno być\033[0m
.error: octal escape sequences "\033[31mServer ready @ #{app.get('port')}\033[91m" are not allowed
\033[0m
powinien zostać użyty do przywrócenia tekstu do normalnego, nie\033[91m
To jest lista dostępnych kolorów (tło, pierwszy plan) w konsoli z dostępnymi akcjami (reset, odwrócenie, ...).
Użyj go w następujący sposób:
Możesz także zainstalować:
IT da ci wyjście bliższe konsoli po stronie klienta:
źródło
W tej dokumentacji można zmieniać kolory w zależności od typu danych wyjściowych:
Wyglądają na kody ucieczki ANSI SGR, gdzie pierwsza liczba to kod, który należy wysłać przed wyjściem, a druga liczba to kod, który należy wysłać później. Więc jeśli spojrzymy na tabelę kodów ANSI SGR na Wikipedii , zobaczysz, że większość z nich zaczyna się od liczby 30-37, aby ustawić kolor pierwszego planu, a kończy 39, aby zresetować do domyślnego koloru pierwszego planu.
Jedną z rzeczy, których nie lubię, jest to, jak ciemne są niektóre z nich. Zwłaszcza daty. Śmiało i spróbuj
new Date()
w konsoli. Ciemna magenta na czerni jest naprawdę trudna do odczytania. Zamiast tego zmieńmy to na jasnopurpurowy.Teraz, gdy spróbujesz
new Date()
, wynik jest znacznie bardziej czytelny.Jeśli chcesz ustawić kolory automatycznie podczas uruchamiania węzła, utwórz skrypt uruchamiający replikę, w następujący sposób:
Zapisz ten plik (na przykład
init.js
), a następnie uruchomnode.exe init.js
. Ustawi kolory i uruchomi wiersz poleceń node.js.(Dzięki loganfsmyth w tej odpowiedzi za pomysł na repl.)
źródło
Ta biblioteka Sindre Sorhus jest obecnie najlepsza:
kreda
String.prototype
źródło
Na przykład, jeśli chcesz mieć przyciemniony, czerwony tekst z niebieskim tłem, możesz to zrobić w Javascript w następujący sposób:
Kolejność kolorów i efektów nie wydaje się tak ważna, ale zawsze pamiętaj, aby na końcu zresetować kolory i efekty.
źródło
Przydatny jednuliniowy skrypt napisany dla skryptów npm, które nie mogą mieć zależności:
Edycja:
r,g,b,w,c,m,y,k
oznacza czerwony, zielony, niebieski, biały, cyjan, magenta, żółty i blac (k)źródło
Dla popularnej alternatywy dla kolorów, które nie zadzierają z wbudowanymi metodami obiektu String, polecam sprawdzenie cli-color .
Obejmuje zarówno kolory, jak i łańcuchowe style, takie jak pogrubienie, kursywa i podkreślenie.
Porównanie różnych modułów w tej kategorii znajduje się tutaj .
źródło
Bez bibliotek bez komplikacji po prostu proste:
źródło
Emoji
Możesz używać kolorów w tekście, jak inni wymienili w swoich odpowiedziach.
Ale zamiast tego możesz używać emoji ! na przykład możesz użyć Możesz użyć
⚠️
do komunikatów ostrzegawczych i🛑
komunikatów o błędach.Lub po prostu użyj tych notatników jako koloru:
Premia:
Ta metoda pomaga również szybko skanować i znajdować dzienniki bezpośrednio w kodzie źródłowym .
Ale domyślna czcionka emoji linuksa nie jest domyślnie kolorowa i możesz najpierw sprawić, by były kolorowe.
źródło
Istnieją dziś dwa sposoby zmiany kolorów konsoli Node.js.
Jednym z nich są biblioteki ogólnego przeznaczenia, które mogą ozdobić ciąg tekstowy za pomocą znaczników kolorów, które następnie wyprowadza się przez standard
console.log
.Najlepsze biblioteki do tego dzisiaj:
I w drugą stronę - załatanie istniejących metod konsoli. Jednym z takich biblioteka - Manakin pozwala automatycznie ustawić standardowe kolory dla wszystkich metod Console (
log
,warn
,error
iinfo
).Jedna znacząca różnica w stosunku do ogólnych bibliotek kolorów - może ustawiać kolory globalnie lub lokalnie, zachowując spójną składnię i format wyjściowy dla każdej metody konsoli Node.js, której następnie używasz bez konieczności określania kolorów, ponieważ wszystkie są ustawiane automatycznie .
Oto najprostsze rozwiązanie konkretnego problemu:
Ustawi kolor czarny dla każdego
console.log
połączenia w aplikacji. Zobacz więcej kodów kolorów .Domyślne kolory używane przez manakina :
źródło
Przeładowałem metody konsoli.
Dane wyjściowe to.
źródło
console.info('Hello %s', 'World!')
ma się wyświetlaćHello World!
, a nie wyświetlaćHello %s World!
.Przeszedłem przez to pytanie i chciałem użyć kilku kolorów na standardowym wyjściu bez żadnych zależności. Łączy to niektóre inne świetne odpowiedzi tutaj.
Oto co mam. (Wymaga węzła v4 lub nowszego)
Po prostu wymagaj pliku, a następnie użyj go w następujący sposób:
Wstępnie zdefiniowane kody kolorów są dostępne tutaj
źródło
konsola do malowania
Prosty, kolorowy dziennik. Wsparcie inspekcji obiektów i aktualizacja pojedynczej linii Ten pakiet po prostu odmalowuje konsolę.
zainstalować
stosowanie
próbny
źródło
Nie chcę żadnej zależności od tego i tylko te działały dla mnie na OS X. Wszystkie inne próbki z odpowiedzi tutaj dały mi
Octal literal
błędy.źródło: https://coderwall.com/p/yphywg/printing-colorful-text-in-terminal-when-run-node-js-script
źródło
Uznałem tę odpowiedź powyżej ( https://stackoverflow.com/a/41407246/4808079 ) bardzo przydatną, ale niekompletną. Jeśli chciałbyś kiedyś pokolorować coś tylko raz, myślę, że byłoby dobrze, ale myślę, że udostępnienie go w funkcjonalnej formie funkcjonalnej jest o wiele bardziej przydatne w rzeczywistych przypadkach użycia.
Użyj tego w ten sposób:
źródło
logger / index.js
app.js
Następnie użyj go w następujący sposób:
źródło
źródło
źródło
Możesz także użyć kolorów .
Stosowanie:
Aby ułatwić życie, możesz także przy pomocy tej funkcji.
Teraz możesz zrobić:
źródło
Chłodnice
Jest całkiem dobry do użycia lub przedłużenia. Możesz użyć po prostu:
Lub z config:
Wydaje się to naprawdę zabawne, aby przedłużyć:
Zobacz moduł Coolors
źródło
Stworzyłem własny moduł StyleMe . Zrobiłem to, aby móc dużo pisać przy małym pisaniu. Przykład:
Można go również zagnieżdżać:
Lub, jeśli nie chcesz rozszerzać prototypu łańcucha, możesz wybrać jedną z 3 innych opcji:
źródło
W ubuntu możesz po prostu użyć kodów kolorów:
źródło
require
?sys
nigdzie nie był używany. Jednak w rzeczywistości nie jest to konieczne!węzeł-koloruj
Zapewnia funkcje drukowania tekstu w kolorze, a także formatowania tekstu, takie jak pogrubienie, miganie itp.
źródło
Naprawdę podobała mi się odpowiedź @ Daniela, ale funkcje console.log {color} nie działały tak samo, jak zwykłe console.log. Wprowadziłem kilka zmian, a teraz wszystkie parametry nowych funkcji zostaną przekazane do pliku console.log (a także kody kolorów).
źródło
2017:
Prosty sposób, dodając kolor czasu do wiadomości, nie musisz zmieniać kodu, użyj keep. console („msg”) lub console.err („błąd”)
źródło
Jeśli używasz Windows CMD, przejdź do terminalu Właściwości / Kolory (CMD u góry po lewej), a następnie ponownie zdefiniuj wartość RGB ofensywnego koloru. W moim przypadku uważam, że jest to piąty kwadrat od lewej, który zmieniłem na (222 222 222). Nie ma znaczenia, czy aktualnie wybrany przycisk radiowy wyświetla tekst ekranu lub tło ekranu, ponieważ właśnie redefiniujesz ten konkretny „systemowy” kolor. Po zmianie koloru nie zapomnij wybrać preferowanego koloru tła lub tekstu przed kliknięciem OK.
Po zmianie wszystkie te czerwonawe wiadomości z Węzła (w moim przypadku Ember) są wyraźnie widoczne.
źródło
Jest to podejście do systemu Windows 10 (może 7) i zmienia schemat kolorów (motyw) dla samego cmd, samego terminala npm, nie tylko wyjścia konsoli dla konkretnej aplikacji.
Znalazłem działającą wtyczkę Windows - Color Tool , która jest prawdopodobnie opracowana pod parasolem Windows. Opis jest dostępny pod linkiem .
Dodałem katalog colortool do zmiennej systemowej ścieżki środowiska, a teraz jest on dostępny za każdym razem, gdy uruchamiam terminal (wiersz poleceń NodeJs, cmd).
źródło