নোড.জেএস এর কনসোল ফন্টের রঙ কীভাবে পরিবর্তন করবেন?


569

চোখের সমস্যার কারণে আমাকে কনসোল ব্যাকগ্রাউন্ডের রঙ সাদা করতে হয়েছিল, তবে ফন্টটি ধূসর বর্ণের এবং এটি বার্তাগুলিকে অপঠনযোগ্য করে তোলে। আমি কীভাবে এটি পরিবর্তন করতে পারি?


4
আপনি ইতিমধ্যে পটভূমির রঙ পরিবর্তন করতে ব্যবহার করেছেন একই জায়গায়, আপনি অন্যান্য রঙ পরিবর্তন করতে পারেন।
ড্যান ডি

@ হিপ্পিট্রাইল আপনারা কি আরও ভাল সমাধান খুঁজে পেয়েছেন বা আপনি এই প্রশ্নের উত্তরগুলির একটি গ্রহণ করতে পারেন?
নেলসোনিক

খাঁটি নোড.জেজে আপনি কীভাবে এটি করেন? রঙ বা অন্য কোনও প্যাকেজ ছাড়াই।
কোস্টা

1
আমারও একই সমস্যা হচ্ছে আমি সন্দেহ করি যে ভিক্লিব উইন্ডোজ ব্যবহার করছে (আমি যেমন আছি), সে কারণেই টার্মিনাল রঙ পরিবর্তন করার নির্দেশাবলী একটি বিদেশী ধারণা। উইন্ডোজ কমান্ড প্রম্পট 2 ফোরগ্রাউন্ড এবং 2 ব্যাকগ্রাউন্ড রঙ পরিবর্তন করতে দেয়। নোড অন্যান্য রং ব্যবহার করে যা উইন্ডোজ কমান্ড প্রম্পট সংজ্ঞায়িত করতে পারে না।
গ্রেগ উডস

2
আমি পরে আবিষ্কার করেছি যে উইন্ডোজ কমান্ড প্রম্পট রঙগুলি কীভাবে কাজ করে তার জন্য আমার মানসিক মডেলটি সম্পূর্ণ ভুল ছিল। আমি ভুলভাবে ধরে নিয়েছি (ভয়ানক ইউআইয়ের কারণে) আপনি কেবল অগ্রভাগ, পটভূমির রঙ পরিবর্তন করতে পারবেন। এটা ভুল. সমস্ত 16 টি রঙ কনসোল অ্যাপ্লিকেশন দ্বারা ব্যবহার করা যেতে পারে এবং সমস্ত 16 এর জন্য বুদ্ধিমান রঙ চয়ন করা অত্যাবশ্যক এবং সর্বদা পটভূমি হিসাবে রঙিন টাইল 1 ব্যবহার করুন (এবং "পপআপ পটভূমির জন্য 9 টাইল)"। এটি আমার কাছে এমনই একটি উদ্ভাস ছিল, আমি একটি ব্লগ পোস্ট লিখেছিলাম (সত্যিই একটি বিরল ঘটনা)। gregwoods.co.uk/2015/04/…
গ্রেগ উডস

উত্তর:


1147

নীচে আপনি নোড.জেএসএস অ্যাপ্লিকেশনটি চালনার সময় আদেশের পাঠ্যের রেফারেন্স খুঁজে পাবেন:

console.log('\x1b[36m%s\x1b[0m', 'I am cyan');  //cyan
console.log('\x1b[33m%s\x1b[0m', stringToMakeYellow);  //yellow

নোটটি %sহ'ল স্ট্রিংটিতে (দ্বিতীয় যুক্তি) ইনজেকশন পাওয়া যায়। \x1b[0mটার্মিনাল রঙটি পুনরায় সেট করে যাতে এটি এই বিন্দুটির পরে আর বেছে নেওয়া রঙ হতে থাকবে না।

রঙ উল্লেখ

Reset = "\x1b[0m"
Bright = "\x1b[1m"
Dim = "\x1b[2m"
Underscore = "\x1b[4m"
Blink = "\x1b[5m"
Reverse = "\x1b[7m"
Hidden = "\x1b[8m"

FgBlack = "\x1b[30m"
FgRed = "\x1b[31m"
FgGreen = "\x1b[32m"
FgYellow = "\x1b[33m"
FgBlue = "\x1b[34m"
FgMagenta = "\x1b[35m"
FgCyan = "\x1b[36m"
FgWhite = "\x1b[37m"

BgBlack = "\x1b[40m"
BgRed = "\x1b[41m"
BgGreen = "\x1b[42m"
BgYellow = "\x1b[43m"
BgBlue = "\x1b[44m"
BgMagenta = "\x1b[45m"
BgCyan = "\x1b[46m"
BgWhite = "\x1b[47m"

সম্পাদনা করুন:

উদাহরণস্বরূপ, \x1b[31mএটি একটি পালানোর ক্রম যা আপনার টার্মিনাল দ্বারা আটকে থাকবে এবং এটি লাল রঙে স্যুইচ করার নির্দেশ দেয়। আসলে, অ-মুদ্রণযোগ্য নিয়ন্ত্রণ চরিত্রের\x1b জন্য কোড । কেবল রঙ এবং শৈলীর সাথে কাজ করে এমন এস্কেপ সিকোয়েন্সগুলি এএনএসআই এস্কেপ কোড হিসাবে পরিচিত এবং মানক করা হয়, সুতরাং সেগুলি কোনও প্ল্যাটফর্মে কাজ করা উচিত। escape

বিভিন্ন টার্মিনালগুলির রঙ কীভাবে প্রদর্শন করে তার উইকিপিডিয়ায় একটি দুর্দান্ত তুলনা রয়েছে https://en.wikedia.org/wiki/ANSI_escape_code# Version


42
আমি এই প্রশ্নটি গ্রহণ করেছি কারণ এটি সবচেয়ে অলস একটি যা কাজ করে, এর অনেক রঙ এবং কোনও নির্ভরতা নেই। যদি আপনি নির্ভরতার সাথে আরও সহজ সমাধান চান তবে @ নেলসোনিকের উত্তরটি পরীক্ষা করুন যা খুব সোজাসুজি লিবসের পরামর্শ দেয়।
মাইয়াভিক্টর

7
আপনি এই রেফারেন্সটি কোথায় পেলেন? রঙের প্রতিটি বর্ণের অর্থ কী?
giorgos.nl

10
@ giorgos29 সেমি cm এখানে দেখুন1;বিটিডব্লিউ, উজ্জ্বল রঙগুলির জন্য একটি যুক্ত করুন , যেমন "\ x1b [1; 34 মি" == হালকা নীল ...
ফ্রাঙ্ক নোক

2
কনসোলের চেয়ে ফাইলগুলিতে মুদ্রণের সময় এই অক্ষরগুলি প্রদর্শন করা থেকে কীভাবে আটকাব?
স্কাই

1
কৌতূহলজনকভাবে, উইন্ডোজ 10 পাওয়ারে হলুদটি সাদা হয়ে যায়? হলুদ কাজ করা যেতে পারে; খড়ি এটা করে। যাইহোক, এই উত্তরটি আমাকে কয়েকটা লম্বা লগের জন্য নির্ভরতা হিসাবে চক যোগ করা থেকে বাঁচিয়েছে, ধন্যবাদ!
ওয়েবলো

318

নোড.জেএস তে কনসোল পাঠ্য বিন্যাস করার জন্য একাধিক প্যাকেজ উপলব্ধ রয়েছে। সর্বাধিক জনপ্রিয়:

ব্যবহার:


খড়ি:

const chalk = require('chalk');
console.log(chalk.red('Text in red'));

CLI-রঙ:

const clc = require('cli-color');
console.log(clc.red('Text in red'));

রঙ:

const colors = require('colors');
console.log('Text in red'.red);

অনেকে স্ট্রিং প্রোটোটাইপcolors পরিবর্তন করার বিষয়ে তাদের অসম্মতি উল্লেখ করেছেন । আপনি যদি নিজের প্রোটোটাইপগুলি একা থাকতে পছন্দ করেন তবে পরিবর্তে নিম্নলিখিত কোডটি ব্যবহার করুন:

const colors = require('colors/safe');
console.log(colors.red('Text in red'));

1
এমনকি এটি স্টাইলগুলির জন্য সহজ লাইটওয়েট সমর্থন করে!
হিপ্পিট্রেইল

2
@ ডিভানডেফ স্ট্রিং অবজেক্টে পদ্ধতি যুক্ত করার বিষয়ে আপনার সাথে একমত। গিটিহাবের মডিউল লেখকের কাছে এটি উল্লেখ করার মতো হতে পারে। এবং / অথবা সরলতার একই স্তরের বিকল্প বিকল্প মডিউল / পদ্ধতির পরামর্শ দিচ্ছে।
নেলসোনিক

3
যদিও আমি সম্মত হই যে ম্যাট জোনসনের উত্তর (ইউটিনপ্যাক্ট পদ্ধতির ডিফল্ট রঙগুলিকে ওভাররাইড করা - নীচে দেখুন) রং মডিউলটি ব্যবহারের চেয়ে ভাল, রঙগুলির মডিউলটি শূন্য সেটআপের প্রয়োজন এবং বিস্তৃত সংখ্যাগরিষ্ঠ ব্যবহারকারীর প্রয়োজনীয়তার সাথে খাপ খায় যা কেবল কনসোলের রঙ পরিবর্তন করে is .log আউটপুট। অবশ্যই, "বিল্ট-ইনগুলির সাথে জগাখিচুড়ি করা" খারাপ (100% সম্মত হন) তবে কোনও মোতায়েন কোডে কনসোল.লগ বিবৃতি থাকা উচিত নয়, সুতরাং এটি সম্পর্কে বাস্তববাদী হতে দিন। @ ডিভানডাফ আপনার ইউনিট পরীক্ষা দিয়ে প্রোটোটাইপ মেসে অতিরিক্ত স্ট্রিং পদ্ধতি যুক্ত করে?
নেলসোনিক

8
var colors = require('colors/safe');colors.red('left string all alone')
রঙগুলির

1
ভাল স্পটযুক্ত @ লাউজিন - পরের বার কোনও সম্পাদনার প্রস্তাব নির্দ্বিধায় করুন। আমি উত্তরে রঙের কোড কোডটি সংশোধন করেছি।
নেলসোনিক

155

আপনি যদি রংগুলি নিজেই পরিবর্তন করতে চান তবে নিজেকে মডিউল ছাড়া চেষ্টা করুন

console.log('\x1b[36m', 'sometext' ,'\x1b[0m');

প্রথমে \x1b[36mরঙগুলি পরিবর্তন করতে 36এবং তারপরে টার্মিনাল রঙে ফিরে 0

এএনএসআই রঙের কোডগুলির একটি তালিকা এখানে


15
কীভাবে রঙটি পুনরায় সেট করবেন তা উল্লেখ করার জন্য ধন্যবাদ।
ভ্যাসাইল বোরোভিয়াক

25
এখানে এএনএসআই টার্মিনাল কোডগুলি রয়েছে, টেলিপ্যাথি.ফ্রেডসকটোপ.অর্গ
খাবেন

1
ফন্ট শৈলী পরিবর্তন সম্পর্কে, যেমন গা bold় লাল, তির্যক সবুজ?
uzay95

1
নিখুঁতভাবে কাজ করেছেন, অক্টাল এস্কেপ কোডগুলি কঠোর মোডে আটকানো নিয়ে গণ্ডগোল করবেন না।
ফ্লোরি

70

আপনার আউটপুট রঙ করতে আপনি সেখান থেকে উদাহরণ ব্যবহার করতে পারেন:
https://help.ubuntu.com/commune/CustomizingBashPrompt

নোডজেগুলির জন্য একটি গিস্ট

উদাহরণস্বরূপ, আপনি যদি লাল রঙের লেখার অংশ চান তবে কেবল কনসোল.লগ দিয়ে করুন:

"\033[31m this will be red \033[91m and this will be normal"

এর ভিত্তিতে আমি নোড.জেএস-এর জন্য "কলোগ" এক্সটেনশন তৈরি করেছি on আপনি এটি ব্যবহার করে এটি ইনস্টল করতে পারেন:

npm install colog

রেপো এবং এনএমপি: https://github.com/dariuszp/colog


1
আমি বিশ্বাস করি যে ওপি একটি নির্দিষ্ট রঙে নির্দিষ্ট পাঠ্য প্রিন্ট করতে চায় না তবে সমস্ত টার্মিনাল আউটপুট ডিফল্টরূপে আলাদা বর্ণে থাকতে পারে, এমনকি সাদা ব্যাকগ্রাউন্ডের কারণেও কালো।
cwoebker

তারপরে তার টার্মিনালের সেটিংস পরিবর্তন করা উচিত। আমি নিশ্চিত এটি লিনাক্সে সম্ভব। উইন্ডোজ সম্পর্কে ধারণা নেই।
দরিউসপ্প

14
\033[31mকাজ করে কিন্তু \033[91mকরে না। উবুন্টু টার্মিনালের জন্য এটি হওয়া উচিত \033[0m
রেডসান্দ্রো

4
এবং error: octal escape sequences "\033[31mServer ready @ #{app.get('port')}\033[91m" are not allowed
অষ্টাল

4
\033[0mপাঠ্যটি স্বাভাবিক অবস্থায় ফেরাতে ব্যবহার করা উচিত, না\033[91m
mollerhoj

31

এটি উপলব্ধ ক্রিয়াকলাপ (রিসেট, বিপরীত, ...) সহ কনসোলে উপলভ্য রঙগুলির (পটভূমি, সম্মুখভূমি) একটি তালিকা।

const colors = {
 Reset: "\x1b[0m",
 Bright: "\x1b[1m",
 Dim: "\x1b[2m",
 Underscore: "\x1b[4m",
 Blink: "\x1b[5m",
 Reverse: "\x1b[7m",
 Hidden: "\x1b[8m",
 fg: {
  Black: "\x1b[30m",
  Red: "\x1b[31m",
  Green: "\x1b[32m",
  Yellow: "\x1b[33m",
  Blue: "\x1b[34m",
  Magenta: "\x1b[35m",
  Cyan: "\x1b[36m",
  White: "\x1b[37m",
  Crimson: "\x1b[38m" //القرمزي
 },
 bg: {
  Black: "\x1b[40m",
  Red: "\x1b[41m",
  Green: "\x1b[42m",
  Yellow: "\x1b[43m",
  Blue: "\x1b[44m",
  Magenta: "\x1b[45m",
  Cyan: "\x1b[46m",
  White: "\x1b[47m",
  Crimson: "\x1b[48m"
 }
};

এটি নিম্নলিখিত হিসাবে ব্যবহার করুন:

 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

আপনি ইনস্টল করতে পারেন:

npm install console-info console-warn console-error --save-dev

এটি আপনাকে ক্লায়েন্ট সাইডের কনসোলের কাছাকাছি একটি আউটপুট দেবে:

এখানে চিত্র বর্ণনা লিখুন


1
আমি একই ব্যবহার করছি এবং সূক্ষ্মভাবে কাজ করি তবে কোনও কারণে ডিম কিছু করে না? আমি ধূসর বর্ণের প্রভাবটি চাই তাই ভাবলাম ধূসর রঙের সাথে সাদা রঙ ব্যবহার করা ধূসর বর্ণের সাথে দেখা দেয় তবে কেবল সাদা রঙের মুদ্রণগুলি কোনও ম্লাদ হয় না। কোন ধারণা?
অঙ্গদ

28

প্রতি এই ডকুমেন্টেশন , আপনি আউটপুট ডাটা টাইপ এর উপর ভিত্তি করে রং পরিবর্তন করতে পারেন:

// you'll need the util module
var 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 ] }

এগুলি এএনএসআই এসজিআর এস্কেপ কোড হিসাবে উপস্থিত হয়, যেখানে প্রথম সংখ্যাটি আউটপুট দেওয়ার আগে নির্গত হওয়ার কোড এবং দ্বিতীয় সংখ্যাটি পরে নির্গত কোড হয়। সুতরাং আমরা যদি উইকিপিডিয়ায় এএনএসআই এসজিআর কোডগুলির চার্টটি দেখি দেখি, আপনি দেখতে পাবেন যে এগুলির বেশিরভাগটি অগ্রভাগের রঙ সেট করতে 30.37 নম্বর দিয়ে শুরু হয় এবং ডিফল্ট ফোরগ্রাউন্ড রঙে পুনরায় সেট করতে 39 এ শেষ হয়।

সুতরাং একটি জিনিস আমি পছন্দ করি না এটি এর মধ্যে কতগুলি অন্ধকার। বিশেষ করে খেজুর এগিয়ে যান এবং new Date()কনসোল চেষ্টা করুন । কালো অন্ধকার ম্যাজেন্টা পড়া সত্যিই কঠিন hard পরিবর্তে এটি হালকা ম্যাজেন্টায় পরিবর্তন করা যাক।

// 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';

এখন যখন আপনি চেষ্টা new Date() তখন আউটপুটটি অনেক বেশি পঠনযোগ্য।

নোড চালু করার সময় আপনি যদি রঙগুলি স্বয়ংক্রিয়ভাবে সেট করতে চান তবে একটি স্ক্রিপ্ট তৈরি করুন যা পুনরায় প্রবর্তন করবে, এটির মতো:

// set your colors however desired
var util = require('util');
util.inspect.colors.lightmagenta = [95,39];
util.inspect.styles.date = 'lightmagenta';

// start the repl    
require('repl').start({});

এই ফাইলটি সংরক্ষণ করুন (উদাহরণস্বরূপ, init.js), তারপরে চালানnode.exe init.js । এটি রঙগুলি সেট করবে এবং নোড.জেএস কমান্ড প্রম্পট চালু করবে।

(Repl ধারণাটির জন্য এই উত্তরে লোগানফস্মিথকে ধন্যবাদ ))


19

সিন্দ্রে সোরহুসের এই গ্রন্থাগারটি এই মুহূর্তে সেরা:

খড়ি

  • উচ্চ পারফরম্যান্ট
  • প্রসারিত হয় না String.prototype
  • এক্সপ্রেশনাল এপিআই
  • বাসা শৈলীর ক্ষমতা
  • পরিষ্কার এবং কেন্দ্রীভূত
  • রঙ সমর্থন স্বতঃ-সনাক্ত করে
  • সক্রিয়ভাবে রক্ষণাবেক্ষণ করা
  • 5500+ মডিউল দ্বারা ব্যবহৃত

2
হ্যাঁ তবে এটির অন্য একটি নির্ভরতা
ওয়েফথফিউচার

18

বর্ণ কোড উল্লেখ করা আছে

Reset: "\x1b[0m"
Bright: "\x1b[1m"
Dim: "\x1b[2m"
Underscore: "\x1b[4m"
Blink: "\x1b[5m"
Reverse: "\x1b[7m"
Hidden: "\x1b[8m"

FgBlack: "\x1b[30m"
FgRed: "\x1b[31m"
FgGreen: "\x1b[32m"
FgYellow: "\x1b[33m"
FgBlue: "\x1b[34m"
FgMagenta: "\x1b[35m"
FgCyan: "\x1b[36m"
FgWhite: "\x1b[37m"

BgBlack: "\x1b[40m"
BgRed: "\x1b[41m"
BgGreen: "\x1b[42m"
BgYellow: "\x1b[43m"
BgBlue: "\x1b[44m"
BgMagenta: "\x1b[45m"
BgCyan: "\x1b[46m"
BgWhite: "\x1b[47m"

উদাহরণস্বরূপ, আপনি যদি নীল পটভূমির সাথে একটি হালকা, লাল পাঠ্য পেতে চান তবে এটি জাভাস্ক্রিপ্টে এটি এর মতো করতে পারেন:

console.log("\x1b[2m", "\x1b[31m", "\x1b[44m", "Sample Text", "\x1b[0m");

রঙ এবং প্রভাবগুলির ক্রমটি এটি গুরুত্বপূর্ণ বলে মনে হচ্ছে না তবে সবসময় শেষে রঙ এবং প্রভাবগুলি পুনরায় সেট করতে মনে রাখবেন।


@ সের্গেই পলক আমার পক্ষেও কাজ করে না বলে মনে হচ্ছে এটি
নোডে

@ এসভি 443 তবে এটি স্ক্রিনশটে কাজ করে :) এবং প্রশ্নটি নোডের বিষয়ে ছিল। আমি ভেবেছিলাম এটি কেবল উইন্ডোজ কনসোলে কাজ করে না। আপনি কোন ওএস ব্যবহার করবেন?
সের্গেই

2
@ সার্জি আমি উইন্ডোজ ব্যবহার করছি এবং সিএমডি এবং পাওয়ারশেল চেষ্টা করেছি এবং দু'জনই কাজ করে না
Sv443

@ সার্জি আমার স্ক্রিনশটগুলি ম্যাকওএস টার্মিনাল অ্যাপ্লিকেশন থেকে। আমি বিশ্বাস করি এটি আপনার শেল অ্যাপ্লিকেশনটির সমর্থন করা উচিত should আপনি যদি উইন্ডোজ ব্যবহার করেন তবে আমি সাইগউইন ইনস্টল করার চেষ্টা করব এবং এটি চেষ্টা করব। আমি এই সম্পর্কে জানতে আগ্রহী।
Shnd

@ শানড আমি নিশ্চিত যে এটি একই কিনা কিনা তবে আমি এটি গিট-ব্যাশে চেষ্টা করেছিলাম এবং এটি কার্যকরও হয়নি।
সের্গেই

14

একটি সহজ এক-লাইনার আমি এনপিএম স্ক্রিপ্টগুলির জন্য লিখেছিলাম যার নির্ভরতা থাকতে পারে না:

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')}`)

সম্পাদনা করুন: r,g,b,w,c,m,y,k লাল, সবুজ, নীল, সাদা, সায়ান, ম্যাজেন্টা, হলুদ এবং ব্ল্যাক (কে)


দরকারী মনে হচ্ছে তবে দয়া করে আপনি আরও ব্যাখ্যা করতে পারেন? ডিটেক্টিভ মোড চালু: আহ ওকে, আরজিবিডাব্লুসি ... মানে লাল, সবুজ, নীল, সাদা, সায়ান, ম্যাজেন্টা, হলুদ এবং কে?
538 রোমো

10

রঙগুলির একটি জনপ্রিয় বিকল্পের জন্য যা স্ট্রিং অবজেক্টের অন্তর্নির্মিত পদ্ধতিগুলির সাথে জগাখিচু নয়, ক্লাই-রঙ

গা bold়, তির্যক এবং আন্ডারলাইন উভয় রঙ এবং শৃঙ্খলাযুক্ত শৈলী অন্তর্ভুক্ত।

এই বিভাগে বিভিন্ন মডিউল তুলনা করার জন্য, এখানে দেখুন


10

কোনও লাইব্রেরি নেই কোনও জটিলতা কেবল সহজ:

console.log(red('Error!'));

function red(s) {
    return '\033[31m' + s;
}

1
এটি সহজ নয় যখন আপনি জানতে পারেন যে কনসোলটি যেভাবে তাদের পরিচালনা করে তা জিনিসগুলির সাথে কাজ করে না এবং এটি কনসোল স্ট্রিম প্রকারগুলি বা টিটিওয়াই সমর্থনকে সম্মান করে না, যা আরও সমস্যা তৈরি করে। এটি কেবল একটি হ্যাক যা রাস্তায় নেমে আসা প্রচুর সমস্যা আনবে।
প্রাণবন্ত- t

JSON.stringify এর জন্য
ওয়েফথফিউচার

10

ইমোজি

অন্যরা তাদের উত্তরে উল্লিখিত হিসাবে আপনি পাঠ্যের জন্য রঙগুলি ব্যবহার করতে পারেন।

তবে আপনি এর পরিবর্তে ইমোজি ব্যবহার করতে পারেন ! উদাহরণস্বরূপ আপনি ব্যবহার করতে পারেন আপনি ⚠️সতর্কতা বার্তা এবং 🛑ত্রুটি বার্তাগুলির জন্য ব্যবহার করতে পারেন ।

বা কেবল রঙ হিসাবে এই নোট বইটি ব্যবহার করুন:

📕: error message
📙: warning message
📗: ok status message
📘: action message
📓: canceled status message
📔: Or anything you like and want to recognize immediately by color

বোনাস:

এই পদ্ধতিটি আপনাকে সরাসরি সোর্স কোডে লগগুলি দ্রুত স্ক্যান করতে এবং সন্ধান করতে সহায়তা করে ।

তবে লিনাক্স ডিফল্ট ইমোজি ফন্টটি ডিফল্টরূপে রঙিন নয় এবং আপনি প্রথমে তাদের রঙিন করতে চাইতে পারেন।


6

নোড.জেএস কনসোলের জন্য আজ রঙ পরিবর্তন করার দুটি উপায় রয়েছে।

একটি হল সাধারণ উদ্দেশ্যে লাইব্রেরি যা রঙ ট্যাগ সহ একটি পাঠ্য স্ট্রিং সজ্জিত করতে পারে, যা আপনি স্ট্যান্ডার্ডের মাধ্যমে আউটপুট দেন console.log

আজকের জন্য শীর্ষ গ্রন্থাগারগুলি:

এবং অন্য উপায় - বিদ্যমান কনসোল পদ্ধতি প্যাচ করা। এই ধরনের একটি গ্রন্থাগার - মানাকিন আপনি স্বয়ংক্রিয়ভাবে আপনার সব কনসোল পদ্ধতি আদর্শ রঙগুলির সেট করতে দেয় ( log, warn, errorএবং info)।

জেনেরিক রঙের লাইব্রেরিগুলির মধ্যে একটি উল্লেখযোগ্য পার্থক্য - এটি প্রতিটি নোড.জেএস কনসোল পদ্ধতির জন্য সামঞ্জস্যপূর্ণ সিনট্যাক্স এবং আউটপুট ফর্ম্যাট রাখার সাথে সাথে বিশ্বব্যাপী বা স্থানীয়ভাবে রঙ নির্ধারণ করতে পারে, যা আপনি বর্ণগুলি নির্দিষ্ট না করেই ব্যবহার করেন, কারণ সেগুলি সমস্ত স্বয়ংক্রিয়ভাবে সেট হয়ে গেছে ।

চোখের সমস্যার কারণে আমাকে কনসোল ব্যাকগ্রাউন্ডের রঙ সাদা করতে হয়েছিল, তবে ফন্টটি ধূসর বর্ণের এবং এটি বার্তাগুলিকে অপঠনযোগ্য করে তোলে। আমি কীভাবে এটি পরিবর্তন করতে পারি?

বিশেষত আপনার সমস্যার জন্য, এখানে সবচেয়ে সহজ সমাধান:

var con = require('manakin').global;
con.log.color = 30; // Use black color for console.log

এটি console.logআপনার আবেদনের প্রতিটি কলের জন্য কালো রঙ সেট করবে । দেখুন আরো কালার কোড

মানাকিন দ্বারা ব্যবহৃত ডিফল্ট রঙ :

এখানে চিত্র বর্ণনা লিখুন


6

আমি কনসোল পদ্ধতিগুলি ওভারলোড করেছি।

var colors={
Reset: "\x1b[0m",
Red: "\x1b[31m",
Green: "\x1b[32m",
Yellow: "\x1b[33m"
};

var infoLog = console.info;
var logLog = console.log;
var errorLog = console.error;
var warnLog = console.warn;

console.info= function(args)
{
    var copyArgs = Array.prototype.slice.call(arguments);
    copyArgs.unshift(colors.Green);
    copyArgs.push(colors.Reset);
    infoLog.apply(null,copyArgs);
};

console.warn= function(args)
{
    var copyArgs = Array.prototype.slice.call(arguments);
    copyArgs.unshift(colors.Yellow);
    copyArgs.push(colors.Reset);
    warnLog.apply(null,copyArgs);
};
console.error= function(args)
{
    var copyArgs = Array.prototype.slice.call(arguments);
    copyArgs.unshift(colors.Red);
    copyArgs.push(colors.Reset);
    errorLog.apply(null,copyArgs);
};

// examples
console.info("Numeros",1,2,3);
console.warn("pares",2,4,6);
console.error("reiniciandooo");

আউটপুট হয়।

এখানে চিত্র বর্ণনা লিখুন


এটি বিন্যাস সিনট্যাক্সের সাথে কাজ করে না। উদাহরণ: console.info('Hello %s', 'World!')প্রদর্শন করার কথা Hello World!, এবং নেই Hello %s World!
প্রাণবন্ত- t

@ Vitaly-T চেষ্টা এই : এটি কাজ করা উচিত।
সের্গেই

5

এই প্রশ্নটি জুড়ে এসে স্ট্যান্ডআউটে কোনও রঙিন নির্ভরতা ছাড়াই কিছু রঙ ব্যবহার করতে চেয়েছিল। এটি এখানে অন্যান্য দুর্দান্ত উত্তরগুলির একত্রিত করে।

আমি যা পেয়েছি তা এখানে। (নোড ভি 4 বা তার বেশি প্রয়োজন)

// colors.js
const util = require('util')

function colorize (color, text) {
  const codes = util.inspect.colors[color]
  return `\x1b[${codes[0]}m${text}\x1b[${codes[1]}m`
}

function colors () {
  let returnValue = {}
  Object.keys(util.inspect.colors).forEach((color) => {
    returnValue[color] = (text) => colorize(color, text)
  })
  return returnValue
}

module.exports = colors()

কেবল ফাইলের প্রয়োজন, তারপরে এটির মতো ব্যবহার করুন:

const colors = require('./colors')
console.log(colors.green("I'm green!"))

Predefinied কালার কোড পাওয়া যায় এখানে


1
উদাহরণস্বরূপ, লগ ফাইলে পুনর্নির্দেশের সময় সঠিকভাবে কাজ করবে না।
প্রাণবন্ত- t

4

পেইন্ট-কনসোল

সহজ কলিয়াল লগ। সমর্থন অবজেক্টগুলি এবং একক লাইন আপডেট পরিদর্শন করুন এই প্যাকেজটি কেবল কনসোলটিকে পুনরায় রঙ করবে।

ইনস্টল

npm install paint-console

ব্যবহার

require('paint-console');

console.info('console.info();');
console.warn('console.warn();');
console.error('console.error();');
console.log('console.log();');

ডেমো


4

আমি এর জন্য কোনও নির্ভরতা চাই না এবং এগুলি কেবল ওএস এক্সে আমার জন্য কাজ করেছিল। উত্তরগুলির অন্যান্য সমস্ত নমুনাগুলি আমাকে Octal literalত্রুটি দিয়েছে ।

Reset = "\x1b[0m"
Bright = "\x1b[1m"
Dim = "\x1b[2m"
Underscore = "\x1b[4m"
Blink = "\x1b[5m"
Reverse = "\x1b[7m"
Hidden = "\x1b[8m"

FgBlack = "\x1b[30m"
FgRed = "\x1b[31m"
FgGreen = "\x1b[32m"
FgYellow = "\x1b[33m"
FgBlue = "\x1b[34m"
FgMagenta = "\x1b[35m"
FgCyan = "\x1b[36m"
FgWhite = "\x1b[37m"

BgBlack = "\x1b[40m"
BgRed = "\x1b[41m"
BgGreen = "\x1b[42m"
BgYellow = "\x1b[43m"
BgBlue = "\x1b[44m"
BgMagenta = "\x1b[45m"
BgCyan = "\x1b[46m"
BgWhite = "\x1b[47m"

উত্স: https://coderwall.com/p/yphywg/printing-colorful-text-in-terminal-when-run-node-js-script


4

আমি উপরে এই উত্তরটি পেয়েছি ( https://stackoverflow.com/a/41407246/4808079 ) খুব দরকারী, কিন্তু অসম্পূর্ণ। আপনি যদি কেবল একবারই কোনও রঙিন করতে চান তবে আমার ধারণা এটি ভাল হয়ে উঠবে তবে আমি মনে করি এটি চলমান কার্যকর ফর্মে ভাগ করে নেওয়া বাস্তব জীবনের ব্যবহারের ক্ষেত্রে অনেক বেশি প্রযোজ্য।

const Color = {
  Reset: "\x1b[0m",
  Bright: "\x1b[1m",
  Dim: "\x1b[2m",
  Underscore: "\x1b[4m",
  Blink: "\x1b[5m",
  Reverse: "\x1b[7m",
  Hidden: "\x1b[8m",

  FgBlack: "\x1b[30m",
  FgRed: "\x1b[31m",
  FgGreen: "\x1b[32m",
  FgYellow: "\x1b[33m",
  FgBlue: "\x1b[34m",
  FgMagenta: "\x1b[35m",
  FgCyan: "\x1b[36m",
  FgWhite: "\x1b[37m",

  BgBlack: "\x1b[40m",
  BgRed: "\x1b[41m",
  BgGreen: "\x1b[42m",
  BgYellow: "\x1b[43m",
  BgBlue: "\x1b[44m",
  BgMagenta: "\x1b[45m",
  BgCyan: "\x1b[46m",
  BgWhite: "\x1b[47m"
}

function colorString(color, string) {
  return `${color}${string}${Color.Reset}`;
}

function colorStringLog(color, string) {
  console.log(colorString(color, string));
}

এটি এর মতো ব্যবহার করুন:

colorStringLog(Color.FgYellow, "Some Yellow text to console log");

console.log([
  colorString(Color.FgRed, "red"),
  colorString(Color.FgGreen, "green"),
  colorString(Color.FgBlue, "blue"),
].join(", "));

4

এটির / index.js

const colors = {
    Reset : "\x1b[0m",
    Bright : "\x1b[1m",
    Dim : "\x1b[2m",
    Underscore : "\x1b[4m",
    Blink : "\x1b[5m",
    Reverse : "\x1b[7m",
    Hidden : "\x1b[8m",

    FgBlack : "\x1b[30m",
    FgRed : "\x1b[31m",
    FgGreen : "\x1b[32m",
    FgYellow : "\x1b[33m",
    FgBlue : "\x1b[34m",
    FgMagenta : "\x1b[35m",
    FgCyan : "\x1b[36m",
    FgWhite : "\x1b[37m",

    BgBlack : "\x1b[40m",
    BgRed : "\x1b[41m",
    BgGreen : "\x1b[42m",
    BgYellow : "\x1b[43m",
    BgBlue : "\x1b[44m",
    BgMagenta : "\x1b[45m",
    BgCyan : "\x1b[46m",
    BgWhite : "\x1b[47m",
};

module.exports = () => {
    Object.keys(colors).forEach(key => {
        console['log' + key] = (strg) => {
            if(typeof strg === 'object') strg = JSON.stringify(strg, null, 4);
            return console.log(colors[key]+strg+'\x1b[0m');
        }
    });
}

app.js

require('./logger')();

তারপরে এটি ব্যবহার করুন:

console.logBgGreen(" grüner Hintergrund ")

4

আপনি কোন প্ল্যাটফর্মে আছেন তার উপর এটি কিছুটা নির্ভর করে। এটি করার সর্বাধিক সাধারণ উপায় হ'ল এএনএসআই এস্কেপ সিকোয়েন্সগুলি মুদ্রণ করা। একটি সাধারণ উদাহরণের জন্য, এখানে ব্লেন্ডার বিল্ড স্ক্রিপ্টগুলির কয়েকটি পাইথন কোড রয়েছে:

// This is a object for use ANSI escape to color the text in the terminal
const 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'
}

এই জাতীয় কোড ব্যবহার করতে, আপনি এর মতো কিছু করতে পারেন

console.log(`${bColors.WARNING} My name is sami ${bColors.ENDC}`)

আমি পেয়েছি "কঠোর মোডে অক্টাল এস্কেপ সিকোয়েন্সগুলি অনুমোদিত নয়।"
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);

3

আপনি রঙশালী ব্যবহার করতে পারেন ।

ব্যবহার:

var cw = require('colorworks').create();
console.info(cw.compile('[[red|Red message with a [[yellow|yellow]] word.]]'));

জীবনকে সহজ করার জন্য, আপনি এটির সাথে একটি ফাংশনও তৈরি করতে পারেন।

function say(msg) {
  console.info(cw.compile(msg));
}

এখন আপনি এটি করতে পারেন:

say(`[[yellow|Time spent: [[green|${time}]]ms.]]`);

2

Coolors

এটি ব্যবহার বা প্রসারিত করার জন্য বেশ ভাল। আপনি সহজভাবে ব্যবহার করতে পারেন:

var coolors = require('coolors');
console.log(coolors('My cool console log', 'red'));

অথবা কনফিগার সহ:

var coolors = require('coolors');
console.log(coolors('My cool console log', {
   text: 'yellow',
   background: 'red',
   bold: true,
   underline: true,
   inverse: true,
   strikethrough: true
}));

এবং প্রসারিত করা সত্যই মজার বলে মনে হচ্ছে:

var coolors = require('coolors');
function rainbowLog(msg){
    var colorsText = coolors.availableStyles().text;
    var rainbowColors = colorsText.splice(3);
    var lengthRainbowColors = rainbowColors.length;
    var msgInLetters = msg.split('');
    var rainbowEndText = '';
    var i = 0;
    msgInLetters.forEach(function(letter){
        if(letter != ' '){
            if(i === lengthRainbowColors) i = 0;
            rainbowEndText += coolors(letter, rainbowColors[i]);
            i++;
        }else{
            rainbowEndText += ' ';
        }
    });
    return rainbowEndText;
}
coolors.addPlugin('rainbow', rainbowLog);
console.log(coolorsExtended('This its a creative example extending core with a cool rainbown style', 'rainbown'));

কুলার্স মডিউলটি দেখুন


উদাহরণস্বরূপ, লগ ফাইলে পুনর্নির্দেশের সময় নোড.জেজে এটি সঠিকভাবে কাজ করবে না।
প্রাণবন্ত- t

2

আমি আমার নিজস্ব মডিউল, স্টাইলমি তৈরি করেছি । আমি এটি তৈরি করেছি যাতে সামান্য টাইপিংয়ের মাধ্যমে আমি আরও অনেক কিছু করতে পারি। উদাহরণ:

var StyleMe = 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.

এটি বাসা বাঁধতে পারে:

console.log("This is normal red{this is red blu{this is blue} back to red}".styleMe())

অথবা, আপনি যদি স্ট্রিং প্রোটোটাইপটি প্রসারিত করতে না চান তবে আপনি কেবলমাত্র 3 টি বিকল্পের মধ্যে যে কোনওটি করতে পারেন:

console.log(styleme.red("a string"))
console.log("Hello, this is yellow text".yellow().end())
console.log(styleme.style("some text","red,bbl"))

1

উবুন্টুতে আপনি কেবল রঙের কোড ব্যবহার করতে পারেন:

var sys = require('sys');
process.stdout.write("x1B[31m" + your_message_in_red + "\x1B[0m\r\n");

অব্যবহৃত কেন require?
jhpratt GOFUNDME RELICENSING

বছর কয়েক আগে ছিল। এটি স্টাডাউট লেখার জন্য প্রয়োজনীয় ছিল, এখন এটি ইতিমধ্যে ডিফল্ট হিসাবে আমদানি করা হয়েছে।
কেনজি মিনামরি

আহ, ঠিক আছে. আমি শুধু কৌতূহলী ছিলাম কারণ এটি sysকোথাও ব্যবহৃত হচ্ছে না। আজকাল এটি আসলে প্রয়োজন হয় না, যদিও!
jhpratt

1

নোড-colorify

রঙে পাঠ্য মুদ্রণের জন্য ফাংশন সরবরাহ করে এবং পাঠ্য বিন্যাসকরণ যেমন বোল্ড, ঝলক ইত্যাদি Prov


3
আপনার প্রদত্ত লিঙ্কটি প্রশ্নের উত্তর দিতে পারে। ভবিষ্যতে লিঙ্কের পৃষ্ঠাটির মেয়াদ শেষ হলে আপনার সমাধানের প্রয়োজনীয় অংশগুলি সরাসরি আপনার উত্তরে রেখে দেওয়া ভাল।
Kmeixner

1

আমি ড্যানিয়েলের উত্তরটি সত্যিই পছন্দ করেছি তবে কনসোল.লগ {রঙ} ফাংশনগুলি নিয়মিত কনসোল.লগের মতো কাজ করে না। আমি কয়েকটি পরিবর্তন করেছি, এবং এখন নতুন ফাংশনগুলির সমস্ত পরামিতিগুলি কনসোল.লগে (পাশাপাশি রঙের কোডগুলি) পাস হবে।

const _colors = {
    Reset : "\x1b[0m",
    Bright : "\x1b[1m",
    Dim : "\x1b[2m",
    Underscore : "\x1b[4m",
    Blink : "\x1b[5m",
    Reverse : "\x1b[7m",
    Hidden : "\x1b[8m",

    FgBlack : "\x1b[30m",
    FgRed : "\x1b[31m",
    FgGreen : "\x1b[32m",
    FgYellow : "\x1b[33m",
    FgBlue : "\x1b[34m",
    FgMagenta : "\x1b[35m",
    FgCyan : "\x1b[36m",
    FgWhite : "\x1b[37m",

    BgBlack : "\x1b[40m",
    BgRed : "\x1b[41m",
    BgGreen : "\x1b[42m",
    BgYellow : "\x1b[43m",
    BgBlue : "\x1b[44m",
    BgMagenta : "\x1b[45m",
    BgCyan : "\x1b[46m",
    BgWhite : "\x1b[47m",
};

const enableColorLogging = function(){
    Object.keys(_colors).forEach(key => {
        console['log' + key] = function(){
            return console.log(_colors[key], ...arguments, _colors.Reset);
        }
    });
}

1

2017:

সহজ উপায়, বার্তায় সময়ের রঙ যুক্ত করে, আপনার কোড পরিবর্তন করার দরকার নেই, আপনার কনসোল.লগ ('@' ') বা কনসোল.আরআর (' ত্রুটি ') রাখুন

var clc = require("cli-color");
var mapping = {
  log: clc.blue,
  warn: clc.yellow,
  error: clc.red
};

["log", "warn", "error"].forEach(function(method) {
  var oldMethod = console[method].bind(console);
  console[method] = function() {
    oldMethod.apply(
      console,
      [mapping[method](new Date().toISOString())]
      .concat(arguments)
    );
  };
});

এখানে চিত্র বর্ণনা লিখুন


0

আপনি যদি উইন্ডোজ সিএমডি ব্যবহার করে থাকেন তবে টার্মিনাল প্রোপার্টি / কালার (সিএমডি উপরে বাম) যান এবং তারপরে আক্রমণাত্মক রঙের আরজিবি মানটি নতুন করে সংজ্ঞায়িত করুন। আমার ক্ষেত্রে আমি বিশ্বাস করি এটি বাম দিকের পঞ্চম বর্ণ বর্গ যা আমি পরিবর্তিত হয়েছি (222,222,222)। আপনি কেবলমাত্র সেই নির্দিষ্ট "সিস্টেম" রঙটিকে নতুনভাবে সংজ্ঞায়িত করার সাথে সাথে নির্বাচিত রেডিও বোতামটি স্ক্রীন পাঠ্য বা স্ক্রিনের পটভূমি দেখায় কিনা তাতে কিছু যায় আসে না। একবার আপনি রঙ পরিবর্তন করলে ওকে ক্লিক করার আগে পটভূমি বা পাঠ্যের জন্য পছন্দসই রঙটি আবার নির্বাচন করতে ভুলবেন না।

পরিবর্তনের পরে নোডের এই সমস্ত লাল বর্ণ বার্তা (আমার ক্ষেত্রে এমবার) পরিষ্কারভাবে দৃশ্যমান।


0

এটি উইন্ডোজ 10 এর জন্য একটি পদ্ধতির (সম্ভবত 7 এর জন্য) এবং এটি সিএমডি, এনপিএম টার্মিনালের জন্য রঙ স্কিম (থিম) পরিবর্তন করে, কেবল কোনও নির্দিষ্ট অ্যাপ্লিকেশনের জন্য নয় কনসোল আউটপুট।

আমি কার্যকরী উইন্ডোজ প্লাগইনটি পেয়েছি - রঙ সরঞ্জাম , যা সম্ভবত উইন্ডোজ ছাতার নীচে বিকাশিত। লিঙ্কে একটি বিবরণ উপলব্ধ ।

আমি সিস্টেমে এনভায়রনমেন্ট পাথ ভেরিয়েবলের মধ্যে কলর্টুল ডিরেক্টরিটি যুক্ত করেছি এবং এখনই যখনই টার্মিনাল শুরু করব তখন এটি পাওয়া যায় (নোডজেস কমান্ড প্রম্পট, সেমিডি)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.