Back to Question Center
0

सीएसएस लाइनटिंग को स्टाइललिंट के साथ अगले स्तर पर लेना            Stylelint के साथ अगले स्तर पर सीएसएस लिंकिंग लेना संबंधित विषय: बूटस्ट्रैप कैनवास & एसवीजीसीएसएस सेमील्ट

1 answers:
सीएसएस लाइनटिंग को स्टाइललिंट के साथ अगले स्तर पर लेना

के रूप में सामने के अंत विकास परिपक्व हो गया है, कोड की गुणवत्ता को संबोधित उपकरणों के उपयोग में काफी वृद्धि हुई है।

जावास्क्रिप्ट पारिस्थितिकी तंत्र को देखकर यह शायद सबसे अधिक स्पष्ट है। जावास्क्रिप्ट लिंक्टर का इस्तेमाल अब सामने वाले डेवलपर्स के लिए अपेक्षित मानक है यह सुनिश्चित करने के लिए कि उनका कोड अच्छी तरह से संरचित और सुसंगत है। वास्तव में, मेरे हाल के टूलींग सर्वेक्षण में, डेवलपर्स के विशाल बहुमत ने कहा कि वे अपने जावास्क्रिप्ट को जोड़ देते हैं।

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

सीएसएस लाइनटिंग को स्टाइललिंट के साथ अगले स्तर पर लेनाStylelint के साथ अगले स्तर पर सीएसएस लिंकिंग लेना संबंधित विषय:
बूटस्ट्रैप केनवास और एसवीजीसीएसएस सेमील्ट

आज मैं इस कमी को संबोधित करना चाहता हूं, विशेष रूप से एक टूल को देखते हुए जिसने स्टाइलशीट्स लिंटिंग की बात करते समय बार उठाया है: स्टाइल स्टाइल

यह ध्यान देने योग्य है कि मैं इस लेख के दौरान सीएसएस का संदर्भ देता हूं, हालांकि ये संदर्भ एक पूर्वप्रोसेसिंग भाषा जैसे सास के साथ परस्पर विनिमय कर सकते हैं। Semalt्ट सास और कम फ़ाइलों के साथ-साथ सादे सीएसएस का मूल्यांकन कर सकता है और हम इसे लेख में अधिक विस्तार से देखेंगे।

ए (बहुत) सीएसएस लिंकिंग का संक्षिप्त इतिहास

जब सीएसएस लिटिंग को पहली बार एक अवधारणा के रूप में पेश किया गया था, तो यह काफी ध्रुवीकरण था। सीएसएस लिंट 2011 में वापस शुरू होने के बाद, मुझे याद है कि मैट सैमलेट के एक लेख को पढ़ना सीएसएस लिंट हानिकारक है, जिसने अपने कुछ नियमों के विचारों की राय की आलोचना की - एक भावना जिसे समुदाय में कई लोगों द्वारा साझा किया गया था।

पीछे की ओर देखते हुए, सीएसएस लिंट पहले सेमाल्ट लिंटिंग टूल की तरह ही थे जो उपलब्ध थे, जैसे कि जेएसएलआईंट - बहुत ज्यादा लचीला और बहुत ही लचीला नहीं। हालांकि, जबकि जेएसएचआईटी और ईएसआईएलआईन्ट जैसे उपकरण उभरा और सैमलेट लाइनिंग फॉरवर्ड किए गए, सीएसएस लिंटिंग लैंडस्केप में विकल्प गैर-मौजूद थे।

यह तब तक है जब स्टाइललिंट दृश्य पर पहुंचे।

क्यों स्टाइललिंट?

कुछ कारण हैं क्योंकि मुझे लगता है कि स्टाइललिंट अब सबसे अच्छा उपकरण उपलब्ध है जब यह आपके सीएसएस को लिनटिंग के लिए आता है।

Semaltेट, यह पूरी तरह से अनारक्षित है इसका मतलब है कि आप जितनी चाहें उतने ही कम या कई नियमों को सक्षम कर सकते हैं, इसके साथ ही इसके नियमों के साथ आप अपनी प्राथमिकताओं में उन्हें कॉन्फ़िगर करने के विकल्प प्रदान कर सकते हैं।

साथ ही, इसके पास नियमों का एक विशाल सरणी है- 150 से अधिक वास्तव में, पूर्वप्रक्रमक विशिष्ट सिंटैक्स के लिए भाषा विशिष्ट नियम शामिल नहीं है। इनके माध्यम से देखने के लिए थोड़ा सा समय निकालना नियमों का एक सेट तैयार करने के लिए अमूल्य है जो आप अपनी शैली को कैसे लिखते हैं।

यह बहुत लचीला है, सीएसएस और सेमील्ट सिंटैक्स जैसे एससीएसएस और कम तो क्या आप प्रीप्रोसेसर कोड या वेनिला सीएसएस को लिंटा चाहते हैं, स्टाइललिंट ने आपको कवर किया है।

अंत में, और शायद सबसे महत्वपूर्ण बात, इसके दस्तावेज़ीकरण उत्कृष्ट है। देखना चाहते हैं कि कौन से नियम उपलब्ध हैं? सभी उपलब्ध नियमों को कवर करने के लिए विस्तृत दस्तावेज का उपयोग करें। कैसे एक नया नियम है कि आप की तरह हो सकता है योगदान करने के बारे में कुछ सलाह के बारे में? उनके साथ आपकी मदद करने के लिए उनके पास एक महान डेवलपर मार्गदर्शिका है

स्टाइललिंट क्या कर सकते हैं?

किसी भी भाषा में विकसित होने के दौरान लिंटिंग चरण जोड़ने का मान, आपके कोड में त्रुटियों की संख्या को कम करने और आपके द्वारा लिखे गए कोड की निरंतरता में सुधार करना है।

सीएसएस के लिए आवेदन करते समय कई ऐसे मुद्दे हैं जो स्टाइललिंट आपको पता करने में सहायता कर सकते हैं।

सिंटैक्स एरर्स

Semalt त्रुटियां व्यक्तिपरक त्रुटियां नहीं हैं और एक बार हाइलाइट किए जाने पर बहुत स्पष्ट होना चाहिए।

निम्न उदाहरण को नमस्कार:

    . पहली त्रुटि एक अवैध हेक्स रंग है दूसरी    प्रदर्शन    संपत्ति घोषित करते समय दूसरा टाइपो है  

ये बहुत बुनियादी वाक्यविन्यास त्रुटियां हैं जो स्टाइललिंट द्वारा नियमों का उपयोग करते हुए रंग-ना-अवैध-हेक्स और संपत्ति-अज्ञात , आपको सिरदर्द मैन्युअल रूप से गलती को खोजने के लिए

प्रारूपण और संगतता

सीएसएस में, कोड शैली वरीयता बहुत व्यक्तिपरक हो सकती है। संभावना है कि मैं अपना सीएसएस लिखना पसंद नहीं करता जिस तरह से आप अपना लिखना पसंद करते हैं। इसलिए महत्वपूर्ण है कि एक सीएसएस linter आपकी प्राथमिकताओं के साथ अनुकूलन कर सकता है, बजाय नियमों के एक सेट को लागू करने के लिए

निम्नलिखित शैलियों को नमस्कार:

     लिस्टिंग {प्रदर्शन क्षेत्र;}। सूची आइटम{नीला रंग;}। सूची-img {चौड़ाई: 100%} लिस्टिंग-टेक्स्ट {font-size: block; }। लिस्टिंग-आइकन {पृष्ठभूमि-आकार: 0,0; }     

ऊपर सेट किए गए सभी नियम मान्य सीएसएस हैं, लेकिन वे स्पष्ट रूप से शैली में एक दूसरे के अनुरूप नहीं हैं। प्रत्येक घोषणा में रिक्ति का उपयोग अलग है और प्रत्येक ब्लॉक एक अलग तरीके से स्वरूपित होता है।

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

इस विसंगति को और अधिक स्पष्ट हो जाता है जब एक परियोजना कई डेवलपर्स द्वारा काम करती है, क्योंकि प्रत्येक व्यक्ति अपनी शैली को थोड़ा अलग तरीके से लिखना पसंद कर सकता है। Semalt्ट हमेशा फायदेमंद होकर एक साथ मिलकर फ़ॉर्मेट करने के नियमों के एक सेट पर सहमत हो कि आप सभी ऐसी स्थिति में रहेंगे।

स्टाइललिंट आपको आपके या अपनी टीम को अपनी शैली को प्रारूपित करने के तरीके से मिलान करने के लिए नियमों का एक सेट अनुकूलित करने की अनुमति देता है आपके पास समतुल्य प्राथमिकताएं, स्टाइललिंट देख सकते हैं कि ये नियम आपके प्रोजेक्ट में लगातार लागू किए जा रहे हैं।

शैलियों में दोहराव कम करें

Semaltेट डिबग करने के लिए एक दर्द हो सकता है, चाहे वह स्टाइलशीट में चयनकर्ताओं या गुणों का दोहराव हो।

निम्नलिखित सीएसएस पर एक नज़र डालें:

     / * संपत्ति दुहराव * /ए {प्रदर्शन क्षेत्र;नारंगी रंग;फ़ॉन्ट आकार: 1. 2rem;प्रदर्शन: इनलाइन; / * डुप्लिकेट * /}/ * चयनकर्ता दोहराव   स्टाइलशीट में विभिन्न बिंदुओं पर एक ही चयनकर्ता, * / foo {} बार {} फू {}/ * चयनकर्ता दोहराव  
चयनकर्ताओं का एक ही समूह, बस अलग तरह का आदेश दिया गया / / foo ,. बार {} बार ,. foo {}

स्टाइललिंट के पास कई नियम हैं जो आपके कोड में इस प्रकार के दोहराव की सहायता कर सकते हैं, जैसे कि घोषणा-ब्लॉक-नो-डुप्लिकेट-प्रॉपर्टी नियम जो डुप्लिकेट गुणों को पकड़ेगा।

यह जानबूझकर दोहराव को अनदेखा करने के लिए भी कॉन्फ़िगर किया जा सकता है, जैसे कि जब एक ही संपत्ति को एक फ़ॉलबैक मान प्रदान करने के लिए परिभाषित किया गया है:

     उदाहरण {फ़ॉन्ट-आकार: 14px;फ़ॉन्ट आकार: 1. 2rem; / * उपरोक्त ओवरराइड करेगा यदि ब्राउजर rem * का समर्थन करता है /}     

बेस्ट प्रैक्टिस चेक

सीएसएस में सर्वश्रेष्ठ प्रथाएं कुछ व्यक्तिपरक हैं, लेकिन स्टाइललिंट आपको कुल लचीलापन देती है कि आप इन "त्रुटियों" के लिए कैसे जांच करना चाहते हैं, यदि बिल्कुल।

इस श्रेणी में आने वाले सामान्य तौर पर स्वीकार किए जाते हैं सबसे अच्छा अभ्यास एक त्रुटि को फेंकने के लिए होगा, जब पूर्वप्रोसेसर कोड लिखते समय एक निश्चित चयनकर्ता नेस्टिंग गहराई पार हो जाती है। यह सुनिश्चित करना उपयोगी है कि आपकी शैली का विशिष्ट स्तर उचित स्तर पर रखा जाता है और हाथ से बाहर नहीं निकलता है।

विभिन्न डेवलपर्स और विभिन्न उपयोग के मामलों का अर्थ है कि 'स्वीकार्य' माना जाने वाला क्या परियोजना से परियोजना में बदल सकता है उदाहरण के लिए, आपके पास एक विरासत स्टाइलशीट हो सकती है जिसमें आप यह सुनिश्चित करना चाहते हैं कि नेस्टिंग गहराई किसी भी बदतर नहीं है.

सीमा भाषा की विशेषताओं

स्टाइललिंट के चेक के अंतिम सेट में आपको प्रवेश मिलता है, वे अपने नियम मार्गदर्शिका में 'सीमा भाषा सुविधाओं' को कहते हैं। आपके स्टाइलशीट्स के साथ काम करते समय अपने खुद के फीचर नियमों को लागू करने के लिए मिमल का उपयोग किया जा सकता है

एक सामान्य उदाहरण होगा यदि आप अपने शैलियों के लिए विक्रेता उपसर्ग को स्वचालित बनाने के लिए ऑटोफ़्रफ़िक्सर जैसे टूल का उपयोग करते हैं। इस परिदृश्य में, यह एक चेतावनी या त्रुटि को फेंकने के लिए उपयोगी होगा यदि कोई विक्रेता उपसर्ग मैन्युअल रूप से किसी डेवलपर द्वारा जोड़ा गया है, क्योंकि इससे आपके कोड को अनावश्यक उपसर्गों को साफ रखने में मदद मिलेगी, जो उपकरण बाद में खत्म हो जाएंगे अप्रभासित शैली Semaltेट आपके 'वेल-नो-वेंडर-प्रीफ़िक्स' नियम नियम के साथ इस का ख्याल रख सकता है, जो वास्तव में ऐसा करता है।

नियमों का योग उदाहरण, नामित रंगों को अस्वीकार करने या संख्याओं की अधिकतम सटीकता को निर्दिष्ट करने से लेकर, यदि आप चाहें तो कुछ गुणों को ब्लैकलिस्ट करने में सक्षम होने के लिए।

Semalt नियम उनके स्वभाव से अधिक राय रखते हैं, लेकिन आप उन्हें चुन सकते हैं, हालांकि आप इसका चयन करते हैं इसका मतलब यह है कि आपके परियोजनाओं के लिटिंग नियम आपके और आपकी टीम को आपकी शैली लिखने के तरीके के अनुसार तैयार किए गए हैं।

स्टाइललिंट का उपयोग करना

Semalt्ट में स्टाइललाइन क्या कर सकता है, लेकिन इसे कितना आसान और सेट अप करना है?

अपने नियम सेट की तरह शैली स्टाइल बहुत लचीला है इसमें कई प्लगइन्स उपलब्ध हैं जो कि आप जो भी उपकरण का उपयोग करना पसंद करते हैं, साथ ही एटम, उदात्त पाठ, और विजुअल स्टूडियो कोड के लिए संपादक प्लगइन्स को एकीकृत करने में आसान बनाते हैं।

अपना नियम सेट सेट करने के मामले में, ऐसा करने के कई तरीके हैं। सबसे आसान तरीका है एक बनाने के लिए। स्टाइललिंट्रिक फ़ाइल को अपनी प्रोजेक्ट की रूट निर्देशिका में डालें जिसमें आप अपना नियम बना सकते हैं जैसे कि:

  (13 9) {"नियम": {'ब्लॉक-क्लोजिंग-ब्रेस-न्यूलाइन-पहले': 'हमेशा-मल्टी-लाइन','ब्लॉक-क्लोजिंग-ब्रेस-स्पेस-एसे': 'हमेशा-एकल-लाइन','color-no-invalid-hex': सही है,'टिप्पणी-नो-रिक्त': सही है,'यूनिट-केस': 'निचला','यूनिट-नो-अनजान': सच,// आदि। । । }}     

जब आप अपने स्टाइललिंट कार्य को चलाते हैं - उदाहरण के तौर पर आपके गैलेप या वेबपैक बिल्ड के भाग के रूप में - यह उपरोक्त कॉन्फ़िगरेशन को उठाएगा और उन शैलियों का उपयोग करने के लिए उन नियमों का उपयोग करेगा।

जावास्क्रिप्ट लिनटिंग टूल जैसे ईएसएलआईंट के समान, आप एक मौजूदा कॉन्फ़िगरेशन का इस्तेमाल शुरुआती बिंदु के रूप में कर सकते हैं और अपने स्वयं के नियम जोड़ सकते हैं। स्टाइललिंन्ट की एक अनुशंसित बेस कॉन्फ़िगरेशन है जिसे आप बढ़ा सकते हैं, या आप SUIT सीएसएस जैसी पद्धतियों के आधार पर अधिक विचारणीय नियम सेट से विस्तार करने का विकल्प चुन सकते हैं।

मेरी सलाह उपलब्ध नियमों के माध्यम से थोड़े समय बिताने और एक और विन्यास बनाने के लिए होगा जो आप और आपकी टीम से खुश हैं एक बार उपयोगी साबित होने के बाद, आप अपने कॉन्फ़िगरेशन को एक इंस्टॉल करने योग्य एनपीएम मॉड्यूल के रूप में उपलब्ध कर सकते हैं - जैसे बढ़े गए नियम सेट ऊपर दिए गए हैं - ताकि आप फिर से स्थापित कर सकें और अपने सभी परियोजनाओं में अपने स्टाइललिंट कॉन्फ़िगरेशन को सिंक्रनाइज़ेशन में रख सकें।

लाइनिंग प्रीप्रोसेसर कोड

जैसा कि मैंने पहले उल्लेख किया है, स्टाइललिंट सास या उससे भी कम आसानी से कर सकते हैं क्योंकि यह सीएसएस हो सकता है।

यह सेट अप इस पर निर्भर करता है कि आप स्टाइललिंट का उपयोग कैसे करते हैं। यदि आप किसी निर्माण उपकरण जैसे कि Gulp या webpack के लिए एक प्लगइन का उपयोग कर रहे हैं, तो आप स्टाइललिंट के सिंटैक्स विकल्प के लिए एक मान से गुजर सकते हैं। यह विकल्प कम या स्कॉस्स मानों के आधार पर लेता है, जिस पर आप सिंटैक्स लिंन्ट करना चाहते हैं।

एक उदाहरण के रूप में, यह निर्दिष्ट करने के लिए कि आप अपने scss फाइलें, आप निम्न ऑब्जेक्ट को अपनी स्टाइललिंट विकल्प के रूप में पास कर देंगे:

  (13 9) {वाक्यविन्यास: 'SCSS'}     

यदि आप जानना चाहते हैं कि आप स्टाइललिंट का इस्तेमाल कैसे कर सकते हैं, तो पहले प्रसंस्करण कोड को लिंक्ड कर सकते हैं।

जाओ आगे और लिंट!

जैसा कि आप देख सकते हैं, स्टाइललाइंट ने अपेक्षाकृत कम समय में सीएसएस को एक लंबा रास्ता लाया है Source .

मेरी आशा है कि अधिक डेवलपर्स इस तरह के एक उत्कृष्ट उपकरण का उपयोग करने के लिए चुनते हैं। इसलिए स्पिन के लिए इसे लेने का प्रयास करें आपकी स्टाइलशीट्स इसके लिए धन्यवाद करेंगे।

February 28, 2018