Bagaimana cara mengubah warna font konsol node.js?
570
Saya harus mengubah warna latar belakang konsol menjadi putih karena masalah mata, tetapi fontnya berwarna abu-abu dan membuat pesannya tidak dapat dibaca. Bagaimana saya bisa mengubahnya?
Di tempat yang sama dengan yang Anda gunakan sebelumnya untuk mengubah warna latar belakang, Anda dapat mengubah warna lainnya.
Dan D.
@hippietrail sudahkah kalian menemukan solusi yang lebih baik atau dapatkah Anda menerima salah satu jawaban untuk pertanyaan ini?
nelsonic
Bagaimana Anda melakukan ini di Node.js murni? Tanpa warna atau paket lainnya.
Costa
1
Saya mempunyai masalah yang sama. Saya curiga @Viclib menggunakan windows (seperti saya), itulah sebabnya instruksi untuk mengubah warna terminal adalah konsep asing. Windows command prompt memungkinkan mengubah 2 warna foreground dan 2 latar belakang. Node menggunakan warna lain yang tidak dapat ditentukan oleh perintah jendela.
Greg Woods
2
Saya kemudian menemukan bahwa model mental saya tentang cara warna command prompt Windows bekerja, benar-benar salah. Saya berasumsi tidak benar (karena UI yang mengerikan) bahwa Anda hanya dapat mengubah warna latar depan, latar belakang. Ini salah. Semua 16 warna dapat digunakan oleh aplikasi konsol, dan sangat penting untuk memilih warna yang masuk akal untuk semua 16, dan untuk SELALU menggunakan ubin warna 1 sebagai latar belakang (dan ubin 9 untuk "latar belakang popup"). Ini adalah wahyu bagi saya, saya menulis posting blog (peristiwa yang jarang terjadi). gregwoods.co.uk/2015/04/...
Greg Woods
Jawaban:
1151
Di bawah ini Anda dapat menemukan referensi warna teks ke perintah ketika menjalankan aplikasi node.js:
console.log('\x1b[36m%s\x1b[0m','I am cyan');//cyan
console.log('\x1b[33m%s\x1b[0m', stringToMakeYellow);//yellow
Catatan %sadalah tempat di mana string (argumen kedua) akan disuntikkan. \x1b[0mmengatur ulang warna terminal sehingga tidak terus menjadi warna yang dipilih lagi setelah titik ini.
Misalnya, \x1b[31madalah urutan pelarian yang akan dicegat oleh terminal Anda dan memerintahkannya untuk beralih ke warna merah. Bahkan, \x1badalah kode untuk karakter kontrol yang tidak dapat dicetakescape . Escape sequence berurusan hanya dengan warna dan gaya yang juga dikenal sebagai kode pelarian ANSI dan distandarisasi, sehingga mereka (harus) bekerja pada platform apa pun.
Saya telah menerima pertanyaan ini karena itu adalah yang paling malas yang berfungsi, memiliki banyak warna dan tidak ada ketergantungan. Jika Anda ingin solusi yang lebih sederhana dengan dependensi, periksa jawaban @ nelsonic yang menyarankan lib yang sangat mudah.
MaiaVictor
7
Di mana Anda menemukan referensi ini? Apa arti setiap karakter dalam nilai warna?
giorgos.nl
10
@ giorgos29cm → lihat di sini . Btw, tambahkan 1;warna cerah, yaitu "\ x1b [1; 34m" == biru muda ...
Frank Nocke
2
Bagaimana saya mencegah agar karakter ini tidak muncul saat mencetak ke file daripada konsol?
Langit
1
Anehnya, pada Windows 10 PowerShell kuning muncul sebagai putih? Kuning bisa dibuat bekerja; kapur melakukannya. Namun, jawaban ini menyelamatkan saya dari menambahkan kapur sebagai ketergantungan untuk beberapa log, terima kasih!
webelo
318
Ada beberapa paket yang tersedia untuk memformat teks konsol di Node.js. Yang paling populer adalah:
const chalk = require('chalk');
console.log(chalk.red('Text in red'));
CLI-COLOR:
const clc = require('cli-color');
console.log(clc.red('Text in red'));
WARNA:
const colors = require('colors');
console.log('Text in red'.red);
Banyak orang telah mencatat ketidaksetujuan mereka untuk colorsmengubah prototipe String . Jika Anda lebih suka prototipe dibiarkan sendiri, gunakan kode berikut sebagai gantinya:
const colors = require('colors/safe');
console.log(colors.red('Text in red'));
Bahkan memiliki dukungan ringan sederhana untuk gaya!
hippietrail
2
@dundundef setuju dengan Anda tentang menambahkan metode ke objek String. Mungkin patut disebutkan bahwa kepada penulis modul di GitHub. Dan / Atau menyarankan modul / metode alternatif dengan tingkat kesederhanaan yang serupa.
nelsonic
3
Sementara saya setuju bahwa jawaban MattJohnson (menimpa warna standar metode util.inpect - lihat di bawah) lebih baik daripada menggunakan modul Warna, modul Warna memerlukan pengaturan nol dan sesuai dengan kebutuhan sebagian besar pengguna yang hanya mengubah warna konsol .log output. Tentu, "bermain-main dengan built-in" buruk (setuju 100%) tetapi tidak ada kode yang digunakan harus berisi pernyataan console.log, jadi mari kita bersikap pragmatis tentang ini. @devundef Apakah metode String tambahan ditambahkan ke kekacauan prototipe dengan pengujian unit Anda?
nelsonic
8
Warna memiliki itu sekarang: var colors = require('colors/safe');dan kemudian gunakancolors.red('left string all alone')
Laoujin
1
@Laoujin terlihat dengan baik - lain kali jangan ragu untuk mengajukan perubahan. Saya telah mengubah contoh kode untuk Warna dalam jawabannya.
nelsonic
155
Jika Anda ingin mengubah warna sendiri secara langsung tanpa modul, cobalah
console.log('\x1b[36m','sometext','\x1b[0m');
Pertama \x1b[36muntuk mengubah warna ke 36dan kemudian kembali ke warna terminal 0.
Saya percaya OP tidak ingin mencetak teks tertentu dalam warna tertentu tetapi secara default semua keluaran Terminal berada dalam warna yang berbeda, bahkan mungkin hitam dengan latar belakang putih.
cwoebker
Maka dia harus mengubah pengaturan terminalnya. Saya yakin itu mungkin di Linux. Tidak tahu tentang Windows.
Dariuszp
14
\033[31mbekerja tetapi \033[91mtidak. Untuk Terminal Ubuntu seharusnya \033[0m.
Redsandro
4
Dan pelarian oktal tampaknya tidak berhasil:error: octal escape sequences "\033[31mServer ready @ #{app.get('port')}\033[91m" are not allowed
jcollum
4
\033[0mharus digunakan untuk mengembalikan teks ke normal, bukan\033[91m
mollerhoj
31
Ini adalah daftar warna yang tersedia (latar belakang, latar depan) di konsol dengan tindakan yang tersedia (reset, mundur, ...).
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
Saya menggunakan yang sama dan berfungsi dengan baik tetapi untuk beberapa alasan Dim tidak melakukan apa-apa? Saya ingin efek warna abu-abu jadi saya pikir akan menggunakan warna putih dengan efek redup akan menghasilkan warna abu-abu tetapi hanya warna putih yang dicetak tanpa redup. Ada ide?
Angad
28
Per dokumentasi ini , Anda dapat mengubah warna berdasarkan tipe data dari output:
// 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]}
Ini tampaknya kode pelarian ANSI SGR, di mana angka pertama adalah kode yang akan dipancarkan sebelum output, dan angka kedua adalah kode yang akan dipancarkan setelahnya. Jadi jika kita melihat grafik kode ANSI SGR di Wikipedia , Anda akan melihat bahwa sebagian besar dimulai dengan angka 30-37 untuk mengatur warna latar depan, dan berakhir di 39 untuk mengatur ulang ke warna latar depan standar.
Jadi satu hal yang saya tidak suka adalah betapa gelapnya beberapa di antaranya. Terutama kurma. Silakan dan coba new Date()di konsol. Magenta gelap pada hitam benar-benar sulit dibaca. Mari kita ubah itu menjadi magenta ringan sebagai gantinya.
// 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';
Sekarang ketika Anda mencoba new Date(), hasilnya jauh lebih mudah dibaca.
Jika Anda ingin mengatur warna secara otomatis saat meluncurkan node, buat skrip yang meluncurkan repl, seperti ini:
// 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({});
Simpan file ini (misalnya, init.js), lalu jalankan node.exe init.js. Ini akan mengatur warna dan meluncurkan command prompt node.js.
(Terima kasih untuk loganfsmyth dalam jawaban ini untuk ide repl.)
@Sergey blink juga tidak berfungsi untuk saya, sepertinya tidak tersedia di Node
Sv443
@ Sv443 Tapi berfungsi pada screenshot :) Dan pertanyaannya adalah tentang Node. Saya pikir itu tidak berfungsi hanya di konsol Windows. OS apa yang Anda gunakan?
Sergey
2
@Sergey Saya menggunakan Windows dan mencoba CMD dan Powershell dan keduanya tidak bekerja
Sv443
@Sergey Screenshot saya berasal dari aplikasi terminal MacOS. Saya percaya ini adalah sesuatu yang harus didukung aplikasi shell Anda. Jika Anda menggunakan windows, saya sarankan mencoba menginstal Cygwin dan coba ini di bash. Saya ingin tahu tentang hal ini juga.
Shnd
@Shnd saya tidak yakin apakah itu sama, tapi saya mencobanya di git-bash dan tidak berhasil juga.
Sergey
14
Satu kalimat yang berguna yang saya tulis untuk skrip npm yang tidak dapat memiliki dependensi:
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')}`)
Tampaknya bermanfaat tetapi tolong jelaskan lebih lanjut? Mode detektif aktif: ah ok, rgbwc ... singkatan dari merah, hijau, biru, putih, cyan, magenta, kuning dan k?
538ROMEO
11
Emoji
Anda dapat menggunakan warna untuk teks seperti yang lain disebutkan dalam jawaban mereka.
Tapi Anda bisa menggunakan emoji sebagai gantinya! misalnya Anda dapat menggunakan Anda dapat menggunakan ⚠️untuk pesan peringatan dan 🛑untuk pesan kesalahan.
Atau cukup gunakan buku catatan ini sebagai warna:
📕: error message
📙: warning message
📗: ok status message
📘: action message
📓: canceled status message
📔:Or anything you like and want to recognize immediately by color
Bonus:
Metode ini juga membantu Anda memindai dan menemukan log secara langsung dalam kode sumber .
Tetapi font emoji default linux tidak berwarna secara default dan Anda mungkin ingin membuatnya berwarna, terlebih dahulu.
Ini tidak sederhana ketika Anda mengetahui bahwa itu tidak berfungsi dengan objek cara konsol menangani mereka, dan bahwa itu tidak menghormati jenis aliran konsol atau dukungan TTY, yang menciptakan masalah lebih lanjut. Ini hanya peretasan yang akan membawa banyak masalah di jalan.
vitaly-t
Itulah tujuan JSON.stringify untuk
wayofthutureure
6
Ada dua cara untuk melihat perubahan warna untuk konsol Node.js hari ini.
Salah satunya adalah melalui perpustakaan tujuan umum yang dapat menghiasi string teks dengan tag warna, yang kemudian Anda output melalui standar console.log.
Dan cara lain - menambal metode konsol yang ada. Salah satu perpustakaan tersebut - manakin memungkinkan Anda secara otomatis mengatur warna standar untuk semua metode konsol Anda ( log, warn, errordan info).
Satu perbedaan signifikan dari pustaka warna generik - ia dapat mengatur warna baik secara global maupun lokal, sambil tetap mempertahankan sintaks dan format output yang konsisten untuk setiap metode konsol Node.js, yang kemudian Anda gunakan tanpa harus menentukan warna, karena semuanya diatur secara otomatis .
Saya harus mengubah warna latar belakang konsol menjadi putih karena masalah mata, tetapi fontnya berwarna abu-abu dan membuat pesannya tidak dapat dibaca. Bagaimana saya bisa mengubahnya?
Khusus untuk masalah Anda, inilah solusi paling sederhana:
var con = require('manakin').global;
con.log.color =30;// Use black color for console.log
Ini akan mengatur warna hitam untuk setiap console.logpanggilan di aplikasi Anda. Lihat lebih banyak kode warna .
Ini tidak berfungsi dengan sintaks pemformatan. Contoh: console.info('Hello %s', 'World!')seharusnya ditampilkan Hello World!, dan tidak Hello %s World!.
Datangi pertanyaan ini, dan ingin menggunakan beberapa warna di stdout tanpa ada ketergantungan. Ini menggabungkan beberapa jawaban hebat lainnya di sini.
Inilah yang saya punya. (Membutuhkan simpul v4 atau lebih tinggi)
Saya tidak ingin ada ketergantungan untuk ini dan hanya ini yang bekerja untuk saya di OS X. Semua sampel lain dari jawaban di sini memberi saya Octal literalkesalahan.
Saya menemukan jawaban ini di atas ( https://stackoverflow.com/a/41407246/4808079 ) sangat berguna, tetapi tidak lengkap. Jika Anda hanya ingin mewarnai sesuatu sekali, saya kira itu akan baik-baik saja, tapi saya pikir membagikannya dalam bentuk fungsional runnable jauh lebih berlaku untuk kasus penggunaan kehidupan nyata.
Ini agak tergantung pada platform apa Anda berada. Cara paling umum untuk melakukan ini adalah dengan mencetak urutan pelarian ANSI. Sebagai contoh sederhana, inilah beberapa kode python dari skrip pembuat 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'}
Untuk menggunakan kode seperti ini, Anda dapat melakukan sesuatu seperti
console.log(`${bColors.WARNING}My name is sami ${bColors.ENDC}`)
Saya mendapatkan "Urutan melarikan diri oktal tidak diizinkan dalam mode ketat."
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);
ini tidak akan berfungsi di Node.js dengan benar ketika dialihkan ke file log, misalnya.
vitaly-t
2
Saya membuat modul saya sendiri, StyleMe . Saya membuatnya sehingga saya bisa melakukan banyak hal dengan sedikit mengetik. Contoh:
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.
Itu juga bisa bersarang:
console.log("This is normal red{this is red blu{this is blue} back to red}".styleMe())
Atau, jika Anda tidak ingin memperpanjang prototipe string, Anda dapat memilih salah satu dari 3 opsi lainnya:
console.log(styleme.red("a string"))
console.log("Hello, this is yellow text".yellow().end())
console.log(styleme.style("some text","red,bbl"))
Sementara tautan yang Anda berikan dapat menjawab pertanyaan. Yang terbaik adalah menempatkan bagian-bagian penting dari solusi Anda secara langsung dalam jawaban Anda jika halaman pada tautan tersebut kedaluwarsa di masa depan.
Kmeixner
1
Saya sangat menyukai jawaban @ Daniel, tetapi fungsi console.log {color} tidak berfungsi dengan cara yang sama seperti console.log biasa. Saya telah membuat beberapa perubahan, dan sekarang semua parameter ke fungsi baru akan diteruskan ke console.log (juga kode warna).
Jika Anda menggunakan Windows CMD kemudian pergi ke Properties / Warna terminal (kiri atas CMD) dan kemudian mendefinisikan kembali nilai RGB dari warna ofensif. Dalam kasus saya, saya percaya itu adalah kotak warna kelima dari kiri, yang saya ubah menjadi (222.222.222). Tidak masalah jika tombol radio yang dipilih saat ini menampilkan Teks Layar atau Latar Belakang Layar karena Anda baru saja mendefinisikan ulang warna "sistem" tertentu. Setelah Anda mengubah warna, jangan lupa untuk memilih kembali warna yang disukai untuk latar belakang atau teks sebelum mengklik OK.
Setelah perubahan, semua pesan kemerahan ini dari Node (Ember dalam kasus saya) terlihat jelas.
Ini adalah pendekatan untuk Windows 10 (mungkin untuk 7) dan itu mengubah skema warna (tema) untuk cmd, terminal npm itu sendiri, tidak hanya output konsol untuk aplikasi tertentu.
Saya menemukan plugin Windows yang berfungsi - Color Tool , yang mungkin dikembangkan di bawah payung Windows. Deskripsi tersedia di tautan .
Saya menambahkan direktori colortool ke dalam variabel lintasan lingkungan sistem dan sekarang tersedia setiap kali saya memulai terminal (command prompt NodeJs, cmd).
Jawaban:
Di bawah ini Anda dapat menemukan referensi warna teks ke perintah ketika menjalankan aplikasi node.js:
Catatan
%s
adalah tempat di mana string (argumen kedua) akan disuntikkan.\x1b[0m
mengatur ulang warna terminal sehingga tidak terus menjadi warna yang dipilih lagi setelah titik ini.Referensi warna
EDIT:
Misalnya,
\x1b[31m
adalah urutan pelarian yang akan dicegat oleh terminal Anda dan memerintahkannya untuk beralih ke warna merah. Bahkan,\x1b
adalah kode untuk karakter kontrol yang tidak dapat dicetakescape
. Escape sequence berurusan hanya dengan warna dan gaya yang juga dikenal sebagai kode pelarian ANSI dan distandarisasi, sehingga mereka (harus) bekerja pada platform apa pun.Wikipedia memiliki perbandingan yang bagus tentang bagaimana terminal yang berbeda menampilkan warna https://en.wikipedia.org/wiki/ANSI_escape_code#Colors
sumber
1;
warna cerah, yaitu "\ x1b [1; 34m" == biru muda ...Ada beberapa paket yang tersedia untuk memformat teks konsol di Node.js. Yang paling populer adalah:
chalk
cli-color
colors
Pemakaian:
KAPUR:
CLI-COLOR:
WARNA:
Banyak orang telah mencatat ketidaksetujuan mereka untuk
colors
mengubah prototipe String . Jika Anda lebih suka prototipe dibiarkan sendiri, gunakan kode berikut sebagai gantinya:sumber
var colors = require('colors/safe');
dan kemudian gunakancolors.red('left string all alone')
Jika Anda ingin mengubah warna sendiri secara langsung tanpa modul, cobalah
Pertama
\x1b[36m
untuk mengubah warna ke36
dan kemudian kembali ke warna terminal0
.Berikut daftar kode warna ANSI
sumber
untuk mewarnai hasil Anda, Anda dapat menggunakan contoh dari sana:
https://help.ubuntu.com/community/CustomizingBashPrompt
Juga inti untuk nodeJs
Sebagai contoh jika Anda ingin bagian dari teks dalam warna merah, lakukan saja console.log dengan:
Berdasarkan itu saya telah membuat ekstensi "colog" untuk Node.js. Anda dapat menginstalnya menggunakan:
Repo dan npm: https://github.com/dariuszp/colog
sumber
\033[31m
bekerja tetapi\033[91m
tidak. Untuk Terminal Ubuntu seharusnya\033[0m
.error: octal escape sequences "\033[31mServer ready @ #{app.get('port')}\033[91m" are not allowed
\033[0m
harus digunakan untuk mengembalikan teks ke normal, bukan\033[91m
Ini adalah daftar warna yang tersedia (latar belakang, latar depan) di konsol dengan tindakan yang tersedia (reset, mundur, ...).
Gunakan sebagai berikut:
Anda juga dapat menginstal:
Ini akan memberi Anda output lebih dekat ke konsol sisi klien:
sumber
Per dokumentasi ini , Anda dapat mengubah warna berdasarkan tipe data dari output:
Ini tampaknya kode pelarian ANSI SGR, di mana angka pertama adalah kode yang akan dipancarkan sebelum output, dan angka kedua adalah kode yang akan dipancarkan setelahnya. Jadi jika kita melihat grafik kode ANSI SGR di Wikipedia , Anda akan melihat bahwa sebagian besar dimulai dengan angka 30-37 untuk mengatur warna latar depan, dan berakhir di 39 untuk mengatur ulang ke warna latar depan standar.
Jadi satu hal yang saya tidak suka adalah betapa gelapnya beberapa di antaranya. Terutama kurma. Silakan dan coba
new Date()
di konsol. Magenta gelap pada hitam benar-benar sulit dibaca. Mari kita ubah itu menjadi magenta ringan sebagai gantinya.Sekarang ketika Anda mencoba
new Date()
, hasilnya jauh lebih mudah dibaca.Jika Anda ingin mengatur warna secara otomatis saat meluncurkan node, buat skrip yang meluncurkan repl, seperti ini:
Simpan file ini (misalnya,
init.js
), lalu jalankannode.exe init.js
. Ini akan mengatur warna dan meluncurkan command prompt node.js.(Terima kasih untuk loganfsmyth dalam jawaban ini untuk ide repl.)
sumber
Perpustakaan ini oleh Sindre Sorhus adalah yang terbaik saat ini:
kapur
String.prototype
sumber
Misalnya jika Anda ingin memiliki teks Redup, Merah dengan latar belakang Biru Anda dapat melakukannya dalam Javascript seperti ini:
Urutan warna dan efek tampaknya tidak begitu penting tetapi selalu ingat untuk mengatur ulang warna dan efek di akhir.
sumber
Satu kalimat yang berguna yang saya tulis untuk skrip npm yang tidak dapat memiliki dependensi:
Sunting:
r,g,b,w,c,m,y,k
kependekan dari merah, hijau, biru, putih, cyan, magenta, kuning dan blac (k)sumber
Emoji
Anda dapat menggunakan warna untuk teks seperti yang lain disebutkan dalam jawaban mereka.
Tapi Anda bisa menggunakan emoji sebagai gantinya! misalnya Anda dapat menggunakan Anda dapat menggunakan
⚠️
untuk pesan peringatan dan🛑
untuk pesan kesalahan.Atau cukup gunakan buku catatan ini sebagai warna:
Bonus:
Metode ini juga membantu Anda memindai dan menemukan log secara langsung dalam kode sumber .
Tetapi font emoji default linux tidak berwarna secara default dan Anda mungkin ingin membuatnya berwarna, terlebih dahulu.
sumber
Untuk alternatif populer untuk warna yang tidak mengacaukan metode built-in dari objek String, saya sarankan memeriksa cli-color .
Termasuk warna dan gaya rantai seperti tebal, miring, dan garis bawah.
Untuk perbandingan berbagai modul dalam kategori ini, lihat di sini .
sumber
Tidak ada perpustakaan, tidak ada komplikasi hanya sederhana:
sumber
Ada dua cara untuk melihat perubahan warna untuk konsol Node.js hari ini.
Salah satunya adalah melalui perpustakaan tujuan umum yang dapat menghiasi string teks dengan tag warna, yang kemudian Anda output melalui standar
console.log
.Perpustakaan teratas untuk itu hari ini:
Dan cara lain - menambal metode konsol yang ada. Salah satu perpustakaan tersebut - manakin memungkinkan Anda secara otomatis mengatur warna standar untuk semua metode konsol Anda (
log
,warn
,error
daninfo
).Satu perbedaan signifikan dari pustaka warna generik - ia dapat mengatur warna baik secara global maupun lokal, sambil tetap mempertahankan sintaks dan format output yang konsisten untuk setiap metode konsol Node.js, yang kemudian Anda gunakan tanpa harus menentukan warna, karena semuanya diatur secara otomatis .
Khusus untuk masalah Anda, inilah solusi paling sederhana:
Ini akan mengatur warna hitam untuk setiap
console.log
panggilan di aplikasi Anda. Lihat lebih banyak kode warna .Warna bawaan seperti yang digunakan oleh manakin :
sumber
Saya kelebihan metode konsol.
Outputnya adalah.
sumber
console.info('Hello %s', 'World!')
seharusnya ditampilkanHello World!
, dan tidakHello %s World!
.Datangi pertanyaan ini, dan ingin menggunakan beberapa warna di stdout tanpa ada ketergantungan. Ini menggabungkan beberapa jawaban hebat lainnya di sini.
Inilah yang saya punya. (Membutuhkan simpul v4 atau lebih tinggi)
Hanya perlu file, lalu gunakan seperti ini:
Kode warna yang tersedia tersedia di sini
sumber
konsol cat
Log sederhana berwarna. Dukungan memeriksa objek dan pembaruan satu baris Paket ini hanya mengecat konsol.
Install
pemakaian
demo
sumber
Saya tidak ingin ada ketergantungan untuk ini dan hanya ini yang bekerja untuk saya di OS X. Semua sampel lain dari jawaban di sini memberi saya
Octal literal
kesalahan.sumber: https://coderwall.com/p/yphywg/printing-colorful-text-in-terminal-when-run-node-js-script
sumber
Saya menemukan jawaban ini di atas ( https://stackoverflow.com/a/41407246/4808079 ) sangat berguna, tetapi tidak lengkap. Jika Anda hanya ingin mewarnai sesuatu sekali, saya kira itu akan baik-baik saja, tapi saya pikir membagikannya dalam bentuk fungsional runnable jauh lebih berlaku untuk kasus penggunaan kehidupan nyata.
Gunakan seperti ini:
sumber
logger / index.js
app.js
Kemudian gunakan seperti:
sumber
sumber
sumber
Anda juga dapat menggunakan pewarnaan warna .
Pemakaian:
Untuk membuat hidup lebih mudah, Anda juga dapat membuat fungsi dengannya.
Sekarang Anda bisa melakukannya:
sumber
Pendingin
Ini cukup bagus untuk digunakan atau diperluas. Anda dapat menggunakan:
Atau dengan konfigurasi:
Dan tampaknya sangat lucu untuk memperpanjang:
Lihat modul Coolors
sumber
Saya membuat modul saya sendiri, StyleMe . Saya membuatnya sehingga saya bisa melakukan banyak hal dengan sedikit mengetik. Contoh:
Itu juga bisa bersarang:
Atau, jika Anda tidak ingin memperpanjang prototipe string, Anda dapat memilih salah satu dari 3 opsi lainnya:
sumber
Di ubuntu Anda cukup menggunakan kode warna:
sumber
require
?sys
sedang digunakan di mana saja. Sebenarnya ini tidak perlu saat ini!simpul-warna
Menyediakan fungsi untuk mencetak teks dalam warna dan juga untuk melakukan format teks seperti huruf tebal, kedip, dll.
sumber
Saya sangat menyukai jawaban @ Daniel, tetapi fungsi console.log {color} tidak berfungsi dengan cara yang sama seperti console.log biasa. Saya telah membuat beberapa perubahan, dan sekarang semua parameter ke fungsi baru akan diteruskan ke console.log (juga kode warna).
sumber
2017:
Cara sederhana, menambahkan warna waktu ke pesan, Anda tidak perlu mengubah kode, gunakan keep console.log ('msg') atau console.err ('error')
sumber
Jika Anda menggunakan Windows CMD kemudian pergi ke Properties / Warna terminal (kiri atas CMD) dan kemudian mendefinisikan kembali nilai RGB dari warna ofensif. Dalam kasus saya, saya percaya itu adalah kotak warna kelima dari kiri, yang saya ubah menjadi (222.222.222). Tidak masalah jika tombol radio yang dipilih saat ini menampilkan Teks Layar atau Latar Belakang Layar karena Anda baru saja mendefinisikan ulang warna "sistem" tertentu. Setelah Anda mengubah warna, jangan lupa untuk memilih kembali warna yang disukai untuk latar belakang atau teks sebelum mengklik OK.
Setelah perubahan, semua pesan kemerahan ini dari Node (Ember dalam kasus saya) terlihat jelas.
sumber
Ini adalah pendekatan untuk Windows 10 (mungkin untuk 7) dan itu mengubah skema warna (tema) untuk cmd, terminal npm itu sendiri, tidak hanya output konsol untuk aplikasi tertentu.
Saya menemukan plugin Windows yang berfungsi - Color Tool , yang mungkin dikembangkan di bawah payung Windows. Deskripsi tersedia di tautan .
Saya menambahkan direktori colortool ke dalam variabel lintasan lingkungan sistem dan sekarang tersedia setiap kali saya memulai terminal (command prompt NodeJs, cmd).
sumber