ईएसलिंट में कई नियम हैं और जो प्रारूपण से संबंधित हैं, arrow-parens
, space-before-function-paren
आदि जैसे प्रीटीयर के साथ संघर्ष कर सकते हैं, इसलिए उन्हें एक साथ उपयोग करने से कुछ समस्याएं उत्पन्न हो जाएंगी। निम्नलिखित उपकरण ESLint और Prettier का उपयोग करने के लिए बनाए गए हैं।
मैंने एक चिप में comparison in a tabular format लिखा है, क्योंकि स्टैक ओवरफ़्लो तालिका स्वरूपण का समर्थन नहीं करता है। यदि आप अधिक संगठन पसंद करते हैं तो इसे देखें।
prettier-eslint
: चलाता है prettier
तो कोड पर eslint --fix
चलाते हैं। eslint
में आमतौर पर संबंधित नियमों को स्वरूपित करने के लिए स्वचालित फ़िक्स हैं, और eslint --fix
प्रेटियर द्वारा प्रस्तुत विवादित स्वरूपण को ठीक करने में सक्षम होंगे। आपको prettier
कमांड को अलग से चलाने की आवश्यकता नहीं होगी।
eslint-plugin-prettier
: यह एक ईएसलिंट प्लगइन है, जिसका अर्थ है कि इसमें अतिरिक्त नियमों के लिए कार्यान्वयन शामिल है जो ईएसलिंट की जांच करेगा। यह प्लगइन हुड के तहत प्रेटियर का उपयोग करता है और जब आपका कोड प्रीटीयर के अपेक्षित आउटपुट से अलग होता है तो समस्याएं बढ़ेगी। उन मुद्दों को --fix
के माध्यम से स्वचालित रूप से ठीक किया जा सकता है। इस प्लगइन के साथ, आपको prettier
कमांड को अलग से चलाने की आवश्यकता नहीं है, कमांड प्लगइन के हिस्से के रूप में चलाया जा रहा है। यह प्लगइन प्रारूपण से संबंधित नियमों को बंद नहीं करता है, और यदि आप मैन्युअल रूप से या eslint-config-prettier
के माध्यम से ऐसे नियमों के लिए संघर्ष देखते हैं तो आपको उन्हें बंद करना होगा।
eslint-config-prettier
: यह एक ईएसलिंट कॉन्फ़िगरेशन है, और इसमें नियमों के लिए कॉन्फ़िगरेशन शामिल हैं (चाहे कुछ नियम चालू हैं, बंद हैं या विशेष कॉन्फ़िगरेशन हैं)। यह कॉन्फ़िगरेशन आपको प्रेटियर को अन्य ईएसलिंट कॉन्फ़िगरेशन जैसे eslint-config-airbnb
के साथ फ़ॉर्मेटिंग-संबंधित नियमों को बंद करके प्रीटीयर के साथ संघर्ष करने की अनुमति देता है। इस कॉन्फ़िगरेशन के साथ, आपको prettier-eslint
का उपयोग करने की आवश्यकता नहीं है क्योंकि आपके कोड को सुंदर प्रारूप स्वरूपित करने के बाद ESLint शिकायत नहीं करेगा। हालांकि, आपको अलग-अलग prettier
कमांड चलाने की आवश्यकता होगी।
आशा है कि यह अंतर को बढ़ाएगा।
स्रोत
2017-06-22 04:43:00
बहुत बढ़िया स्व-उत्तर प्रारूप, उपयोगी जानकारी। –
मेरे पास एक eslintrc फ़ाइल है जिसमें मेरे पास कस्टम नियम हैं। i.e no-extra-semi हालांकि चल रहा एस्लिंट - सुंदर के साथ फ़िक्स को अर्ध कोलन की आवश्यकता है, क्या मुझे सुंदर के लिए एक अलग नियम फ़ाइल की आवश्यकता है? – jasan
एस्लिंट प्लगइन्स और कॉन्फ़िगरेशन के बीच सामान्य अंतर पर बस एक टिप्पणी, क्योंकि मुझे लगा कि यह मेरे लिए क्या लापता था: प्लगइन्स नए एस्लिंट नियमों को परिभाषित करते हैं, और कॉन्फ़िगर गीले सेट करते हैं या नहीं (और कैसे) नियम लागू किए जाने चाहिए। – laugri