2016-03-25 11 views
9

पर अनपेक्षित टोकन को पार्सिंग त्रुटि फेंकता है मेरे पास एक index.js फ़ाइल है जिसमें निम्नलिखित नाम निर्यात है।एस्लिंट नामांकित निर्यात

export Main from './Main/Main' 

हालांकि, eslint यह पसंद नहीं है और त्रुटि

Parsing error: Unexpected token Main 

मुझे यकीन है कि क्यों के रूप में एप्लिकेशन ठीक से कार्य कर रहा है नहीं कर रहा हूँ फेंकता है और मुझे विश्वास है कि मान्य सिंटैक्स है।

मेरे .eslintrc फ़ाइल लगता है कि यह

{ 
    env: { 
    es6: true, 
    browser: true 
    }, 
    parserOptions: { 
    ecmaVersion: 6, 
    sourceType: "module", 
    ecmaFeatures: { 
     jsx: true, 
     experimentalObjectRestSpread: true 
    } 
    }, 
    plugins: [ 
    "react", 
    ], 
    extends: ["eslint:recommended", "plugin:react/recommended", "standard"], 
    "rules": { 
    "comma-dangle" : [2, "always-multiline"], 
    "semi": [2, "never"], 
    "no-extra-semi": 2, 
    "jsx-quotes": [2, "prefer-single"], 
    "react/jsx-boolean-value": [2, "always"], 
    "react/jsx-closing-bracket-location": [2, {selfClosing: "after-props", nonEmpty: "after-props"}], 
    "react/jsx-curly-spacing": [2, "never", {"allowMultiline": false}], 
    "react/jsx-max-props-per-line": [2, {maximum: 3}], 
    "react/jsx-no-literals": 2, 
    "react/sort-prop-types": 2, 
    "react/self-closing-comp": 2, 
    "react/sort-comp": 2 
    }, 
} 
+0

यह के रूप में आप कल्पना को देखकर सत्यापित कर सकते हैं, मान्य सिंटैक्स नहीं है: http: //www.ecma-international। संगठन/ecma-262/6.0/index.html # तालिका -42। सही समाधान क्या है ''/मुख्य/मुख्य 'निर्यात पर निर्भर करता है और यह कैसे करता है। –

+1

यह एक वाक्यविन्यास प्रस्ताव है, लेकिन आपको इसे सक्षम करना होगा, मुझे लगता है। – loganfsmyth

+0

@ फ़ेलिक्सक्लिंग आप सही हैं। यहां से विचार प्राप्त करें https://github.com/erikras/react-redux-universal-hot-example/blob/master/src/components/index.js सिर के लिए धन्यवाद! –

उत्तर

11

यह पता चल। यह एक प्रयोगात्मक विशेषता है इसलिए मुझे अपने एस्लिंट पार्सर के रूप में बेबेल-एस्लिंट को सक्षम करने की आवश्यकता है।

अब मेरी .eslintrc, इस

{ 
    parser: "babel-eslint", 
    env: { 
    es6: true, 
    browser: true 
    }, 
    parserOptions: { 
    ecmaVersion: 6, 
    sourceType: "module", 
    ecmaFeatures: { 
     jsx: true, 
     experimentalObjectRestSpread: true 
    } 
    }, 
    plugins: [ 
    "react", 
    ], 
    extends: ["eslint:recommended", "plugin:react/recommended", "standard"], 
    "rules": { 
    "comma-dangle" : [2, "always-multiline"], 
    "semi": [2, "never"], 
    "no-extra-semi": 2, 
    "jsx-quotes": [2, "prefer-single"], 
    "react/jsx-boolean-value": [2, "always"], 
    "react/jsx-closing-bracket-location": [2, {selfClosing: "after-props", nonEmpty: "after-props"}], 
    "react/jsx-curly-spacing": [2, "never", {"allowMultiline": false}], 
    "react/jsx-max-props-per-line": [2, {maximum: 3}], 
    "react/jsx-no-literals": 2, 
    "react/sort-prop-types": 2, 
    "react/self-closing-comp": 2, 
    "react/sort-comp": 2 
    }, 
} 
+5

यदि वह प्रायोगिक विशेषता केवल एक कारण है जिसे आपको बेबेल-एस्लिंट की आवश्यकता है और आप ओवरहेड से निपटना नहीं चाहते हैं, तो आप './Main/Main' से 'निर्यात {डिफ़ॉल्ट के रूप में मुख्य} का उपयोग कर सकते हैं;', जो मान्य है ES6 और डिफ़ॉल्ट पार्सर में ठीक काम करेगा। – btmills

+0

@btmills यह एक महान अंतर्दृष्टि है। धन्यवाद! –

+0

भयानक, यह मेरे लिए त्रुटि तय करता है, धन्यवाद – xckpd7

0

तरह लग रहा है के बाद से मैं एक अलग कारण के लिए एक ही त्रुटि मिली यहाँ मैं कहाँ गलत हो गया है:

आप परमाणु पैकेज विकास के साथ कोलाहल उपयोग कर रहे हैं, प्रत्येक फ़ाइल की शुरुआत में use babel द्वारा बेबेल सक्रिय किया जाता है।

use babel, use strict की तरह फ़ाइल की शुरुआत में ही होना चाहिए! इसके सामने एक जगह जितनी अधिक हो जाएगी, उसके बाद आपके निर्यात विवरण पर जेएस इंजन ट्रिपिंग या इसी तरह के `` `अप्रत्याशित टोकन निर्यात```।

गलत:

use babel import { bla } from 'blub'

सही:

use babel import { bla } from 'blub'

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