2016-04-05 5 views
5

ESLint 1 में, मैं कुछ भाषा सुविधाओं को अक्षम या सक्षम करने के लिए ecmaFeatures विकल्प का उपयोग कर सकता हूं। जैसेESLint 2 के साथ कुछ ES2015 सुविधाओं का उपयोग कैसे अक्षम करें?

ecmaFeatures: 
    defaultParams: false 

config से ऊपर defaultParams अक्षम करता है।

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

लेकिन ईएसलिंट 2 में, जिसे हटा दिया गया था। आपको केवल ecmaVersion मिल गया है, जो ES2015 सुविधाओं के उपयोग पर चेतावनी नहीं देता है, भले ही आप इसे ecmaVersion 5 केदें। मुझे लगता है कि यह समझ में आता है क्योंकि जावास्क्रिप्ट दुभाषिया व्याख्या समय पर असमर्थित वाक्यविन्यास के उपयोग के बारे में शिकायत करेगा, लेकिन क्या ब्राउज़रों के लिए विकास के बारे में ES2015 समर्थन के विभिन्न स्तर हैं? सिंटैक्स जो क्रोम के लिए काम करता है आईई 9 के लिए काम नहीं करेगा।

भाषा सुविधाओं के उपयोग को लिंट करने का कोई तरीका है, उदा। विनाश अक्षम करें?

+0

मुझे लगता है कि अगर आप इन दिनों क्रॉस-ब्राउज़र समर्थन चाहते हैं, तो आपको वैसे भी पारदर्शी करना होगा। यदि आप केवल विशिष्ट ब्राउज़र संस्करणों को लक्षित करना चाहते हैं, तो आप शायद इनका जांच कर सकते हैं कि वे शिकायत करते हैं या नहीं। – Bergi

+0

@ बर्गि मैं निश्चित रूप से ऐसा करूँगा, लेकिन भाषा सुविधा के उपयोग को सीमित करने का विकल्प अच्छा होगा। जैसे नोड 4 में, इसमें ES2015 सुविधाओं का आधा हिस्सा है। – Daiwei

+0

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

उत्तर

4

no-restricted-syntax नियम विशिष्ट वाक्यविन्यास को अस्वीकार करता है। यह "वाक्यविन्यास" एएसटी नोड्स के प्रकार का अर्थ है। एएसटी का अनुमान यहां है: https://github.com/estree/estree

eslint-plugin-node का कोई असमर्थित-फीचर्स नियम विशिष्ट नोड के संस्करण द्वारा असमर्थित ईसीएमए सुविधाओं को अस्वीकार करता है। मुझे नहीं पता कि ब्राउज़र के लिए एक समान नियम मौजूद है या नहीं।

संबंधित मुद्दे