2016-03-23 8 views
5

के साथ एस्लिंट को कॉन्फ़िगर करना मैं यह नहीं समझ सकता कि जेएसएक्स को "स्वीकार" करने के लिए मेरी .eslintrc फ़ाइल को कॉन्फ़िगर कैसे करें। दूसरे शब्दों में, जब एटम में जेएसएक्स टाइप किया जा रहा है तो यह निकलता है।जेएसएक्स

मैं "parser": "babel-eslint" कहा, के बाद से है कि अन्य लोगों को उनके linters समायोजित करने के लिए क्या कर रहे हैं का हिस्सा प्रतीत हो रहा है ... लेकिन फिर मैं एटम में इस त्रुटि मिलती है:

त्रुटि: 'मॉड्यूल नहीं खोजा जा सका कोलाहल /Users/josetello/.atom/packages/linter-eslint/node_modules '

' से '-eslint मैं कोलाहल-eslint विश्व स्तर पर और --save-dev स्थापित की है। कोई भाग्य नहीं। निश्चित नहीं है कि यह एक परमाणु पैकेज के बारे में शिकायत क्यों करता है ...

क्या JSX के लिए .eslintrc को कॉन्फ़िगर करने का कोई बेहतर तरीका है?

मेरे .eslintrc फ़ाइल:

{ 
    "settings": { 
    "ecmascript": 6 
}, 
"ecmaFeatures": { 
    "blockBindings": true, 
    "jsx": true 
}, 
"parser": "babel-eslint", 
"env": { 
    "browser": true, 
    "jquery": true, 
    "node": true, 
    "mocha": true, 
    "es6": true 
}, 
"rules": { 
    "prefer-arrow-callback": 1, 
    "semi": 1, 
    "strict": 0, 
    "indent": [2, 2], 
    "quotes": [1, "single"], 
    "no-multi-spaces": [1, { 
    "exceptions": { 
     "VariableDeclarator": true, 
     "FunctionExpression": true 
    } 
    }], 
    "key-spacing": [0, {"align": "value"}], 
    "no-underscore-dangle": 0 
}, 
{ 
    "plugins": [ 
     "react" 
    ] 
    } 
} 
+0

आप किस एस्लिंट संस्करण का उपयोग कर रहे हैं? – dannyjolie

+0

संस्करण 2.4.0 – Jose

उत्तर

19

हालात ecmaFeatures (and a lot more...)

के बजाय

{ 
    ecmaFeatures: { 
     jsx: true 
    } 
} 

के संबंध में ESLint 2 में बदल दिया है की कोशिश

{ 
    parserOptions: { 
     ecmaFeatures: { 
      jsx: true 
     } 
    } 
} 

और मुझे लगता है कि आप parser हटा सकते हैं, लेकिन मैं स्वयं एटम का उपयोग नहीं करता, इसलिए मैं इसे निश्चित रूप से नहीं कहूंगा। यह मेरे अपने .eslintrc का हिस्सा नहीं है। और फिर आप संभावित रूप से प्रतिक्रिया लिनिंग नियम जोड़ना चाहते हैं। https://github.com/yannickcr/eslint-plugin-react

{ 
    "extends": ["eslint:recommended", "plugin:react/recommended"] 
} 

मैं सिर्फ rules को यह सब कबाड़ जोड़ना चाहते तो मैं त्वरित पहुँच जब मैं कुछ अक्षम करना चाहते हैं, लेकिन हो सकता है कि सिर्फ मुझे है।

{ 
    "rules": { 
    "jsx-quotes"  : 1, 
    "react/display-name": 0, 
    "react/forbid-prop-types": 0, 
    "react/jsx-boolean-value": 1, 
    "react/jsx-closing-bracket-location": 1, 
    "react/jsx-curly-spacing": 1, 
    "react/jsx-handler-names": 1, 
    "react/jsx-indent-props": 1, 
    "react/jsx-indent": 1, 
    "react/jsx-key": 1, 
    "react/jsx-max-props-per-line": 0, 
    "react/jsx-no-bind": 0, 
    "react/jsx-no-duplicate-props": 1, 
    "react/jsx-no-literals": 0, 
    "react/jsx-no-undef": 1, 
    "react/jsx-pascal-case": 1, 
    "react/jsx-sort-prop-types": 0, 
    "react/jsx-sort-props": 0, 
    "react/jsx-uses-react": 1, 
    "react/jsx-uses-vars": 1, 
    "react/no-danger": 1, 
    "react/no-deprecated": 1, 
    "react/no-did-mount-set-state": 1, 
    "react/no-did-update-set-state": 1, 
    "react/no-direct-mutation-state": 1, 
    "react/no-is-mounted": 1, 
    "react/no-multi-comp": 0, 
    "react/no-set-state": 1, 
    "react/no-string-refs": 0, 
    "react/no-unknown-property": 1, 
    "react/prefer-es6-class": 1, 
    "react/prop-types": 1, 
    "react/react-in-jsx-scope": 1, 
    "react/require-extension": 1, 
    "react/self-closing-comp": 1, 
    "react/sort-comp": 1, 
    "react/wrap-multilines": 1 
    } 
} 
+0

का उपयोग करके मुझे वास्तव में संदेह है। मैंने पिछले हफ्ते अपने वर्तमान प्रोजेक्ट में एस्लिंट और अन्य पैकेजों का एक समूह अपग्रेड किया था, और यह बिल्कुल मजेदार नहीं था, लेकिन मैंने स्पष्ट रूप से कुछ नई चालें सीखीं :) – dannyjolie

+0

इससे कुछ लोगों की मदद मिल सकती है: आप https: // प्रतिक्रिया, वेबपैक, बेबेल में एक ईएसलिंट सेटअप के लिए www.robinwieruch.de/react-eslint-webpack-babel/। –

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