"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > कुछ किलोबाइट के साथ जावास्क्रिप्ट में कंसोल स्टाइलिंग

कुछ किलोबाइट के साथ जावास्क्रिप्ट में कंसोल स्टाइलिंग

2024-08-01 को प्रकाशित
ब्राउज़ करें:471

Console Styling in JavaScript with a few kilobytes

मैं आपके के बारे में नहीं जानता, लेकिन मैं अपने जावास्क्रिप्ट प्रोजेक्ट्स में अपने कंसोल लॉग को अच्छा रखना पसंद करता हूं। और चूंकि सभी टर्मिनल इमोजी का समर्थन नहीं करते हैं, मेरे पास कंसोल आउटपुट को रंगने से बेहतर तरीका क्या है?

ठीक है, आप अपनी इच्छित प्रत्येक कंसोल शैली के लिए एएनएसआई एस्केप कोड को गूगल पर जाकर देख सकते हैं। या शायद उनमें से कुछ को W3Docs जैसे पेज से याद कर लें। लेकिन मुझे अपने लॉग को अच्छा दिखाना पसंद है, मैं निश्चित रूप से ऐसा व्यक्ति नहीं हूं जो बहुत सारी चीजें याद रख सकता है, और मुझे एक तरीका पसंद है जो हर जगह काम करता हो।

ठीक है, मैं आमतौर पर जेएस के लिए केवल रंगीन लॉग का उपयोग करता हूं, इसलिए ऐसी किसी चीज़ की आवश्यकता नहीं है जो हर जगह सचमुच काम करती हो। लेकिन कम से कम कुछ तो ऐसा है जो वहां काम करता है जहां जावास्क्रिप्ट शामिल है।

इसलिए मैंने अपनी खुद की स्क्रिप्ट लिखने का फैसला किया जिसमें फ़ंक्शन के रूप में हर संभव एएनएसआई एस्केप कोड शामिल है जिसकी मुझे संभवतः आवश्यकता हो सकती है। लेकिन फिर मुझे एहसास हुआ कि मेरे सभी प्रोजेक्ट्स में एक ही स्क्रिप्ट को बार-बार कॉपी करना कष्टप्रद होगा। इसलिए, एक ऐसे व्यक्ति के रूप में जिसने कभी भी npm i और init के अलावा npm कमांड के साथ काम नहीं किया, मैंने और अधिक जानने और एक निजी NPM पैकेज बनाने का निर्णय लिया, जिसे मैं बस अपने प्रोजेक्ट्स में इंस्टॉल कर सकता था (या गैर-नोडजेएस प्रोजेक्ट्स के लिए इसके GitHub रिपॉजिटरी को क्लोन कर सकता था)।
मैं हर बार पैकेज स्थापित करते समय एनपीएम प्रमाणीकरण से निपटना नहीं चाहता था, इसलिए मैंने इसे सार्वजनिक कर दिया।

और यही हम आज के लिए यहां हैं: जावास्क्रिप्ट-कंसोल-स्टाइलिंग एक पैकेज है जिसे मैंने इस प्रक्रिया को आसान बनाने के लिए बनाया है।

दरअसल, मेरे जैसे पैकेज पहले भी बनाए जा चुके हैं (यह एक सच्चाई है जिसका एहसास मुझे इसे बनाने के बाद ही हुआ था)। लेकिन मैंने देखा कि मेरा अपना समाधान अभी भी मेरे लिए, या मेरे जैसे किसी के लिए भी बेहतर था:

  • npm के अनुसार, मेरे पैकेज ने केवल 14KB जगह ली। जबकि अन्य समान पैकेजों में समान मात्रा में 50 गुना (500 किलोबाइट से अधिक) तक का समय लगता था। भले ही वे दोनों एक मेगाबाइट के अंतर्गत हैं, फिर भी एक छोटा पैकेज रखना बेहतर है क्योंकि आप इसकी सभी फ़ाइलों को आसानी से प्रबंधित कर सकते हैं (या यदि आप चाहें तो इसे फोर्क करके आसानी से संशोधित भी कर सकते हैं)

  • मेरा पैकेज विभिन्न शैलियों और सजावटों को समाहित कर सकता है क्योंकि वे फ़ंक्शन हैं... और यहां तक ​​कि यदि आपके पास एक संपूर्ण स्टाइल स्ट्रिंग है जिसमें एक अलग शैली के साथ एक सबस्ट्रिंग है तो आप बस सबस्ट्रिंग को जोड़ सकते हैं (अंदर के सबस्ट्रिंग सहित) प्रत्येक स्टाइलिंग फ़ंक्शन द्वारा किए गए रीसेट के कारण पैरेंट स्ट्रिंग इसके बाद किसी भी स्टाइल को लागू होने से रोक देगी)

  • मेरे पैकेज में आसान परीक्षण उपकरण थे जो सभी संभावित रंग और सजावट संयोजन दिखाते थे ताकि उपयोगकर्ता अपने टर्मिनल में इसके आउटपुट को सत्यापित कर सकें (परीक्षण फ़ंक्शन डिफ़ॉल्ट पैकेज में शामिल नहीं हैं, लेकिन एनपीएम पेज और पर उपलब्ध हैं) GitHub)

तो कुल मिलाकर, मैं अपने कोड का उपयोग करना पसंद करता हूं। लेकिन सार्वजनिक पैकेज के मालिक होने का एक हिस्सा यह सुनिश्चित करना है कि लोगों को पता हो कि यह उनकी कैसे मदद कर सकता है, ताकि जरूरत पड़ने पर वे अपने लिए चयन कर सकें।

मुझे नहीं लगता कि यह मेरे द्वारा बनाया गया आखिरी एनपीएम पैकेज होगा, लेकिन यह मुझे संपूर्ण एनपीएम चीज़ के बारे में प्रेरित करने का एक अच्छा तरीका था!

पैकेज की जांच करना सुनिश्चित करें, और हैकिंग का आनंद लें!

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/proman4713/console-styling-in-javascript-with-a-few-kilobytes-2gjn?1 यदि कोई उल्लंघन है, तो कृपया हटाने के लिए स्टडी_गोलंग@163.com पर संपर्क करें यह
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3