2016-11-16 5 views
0

Expressアプリケーションにリンターを追加しようとしていて、ES34に関するいくつかのリンターエラーが発生しています。すなわち、‘export’ is only available in ES6 (use esnext option)’const’ is only available in JavaScript 1.7、および’arrow function syntax’ is only available in Javascript 1.7です。これらのエラーを取り除く方法はわかりません。何か助けていただければ幸いです。私は現在、Sublime Text 2リンターやbabel-eslintを含むいくつかのものをインストールしようとしましたが、これは間違っている可能性があります。関連package.jsonから"ES6でのみ利用可能"のエラーを修正するには?

{ 
"dependencies": { 
    "babel-cli": "^6.10.1", 
    "babel-preset-es2015": "^6.9.0", 
    "babel-preset-stage-2": "^6.5.0", 
    "bcrypt-nodejs": "0.0.3", 
    "botkit-sms": "^1.1.0", 
    "dotenv": "^2.0.0", 
    "express": "^4.14.0", 
    "jwt-simple": "^0.5.0", 
    "mongoose": "^4.6.3", 
    "passport": "^0.3.2", 
    "passport-jwt": "^2.2.1", 
    "passport-local": "^1.0.0", 
    "request": "^2.76.0", 
    "routific": "0.0.2" 
}, 
"devDependencies": { 
    "babel-eslint": "^6.1.2", 
    "eslint": "^2.13.1", 
    "eslint-config-airbnb": "^9.0.1", 
    "eslint-plugin-import": "^1.16.0", 
    "eslint-plugin-jsx-a11y": "^1.4.2", 
    "eslint-plugin-react": "^5.1.1", 
    "nodemon": "^1.9.2" 
} 

}

.babelrc:

{ 
    "presets": ["es2015", "stage-2"] 
} 

.eslintrc:

{ 
extends: ["airbnb", "esnext"], 
parser: "babel-eslint", 
env: { 
    browser: false, 
    node: true, 
    es6: true 
}, 
rules: { 
    strict: 0, 
    quotes: [2, "single"], 
    no-else-return: 0, 
    new-cap: ["error", {"capIsNewExceptions": ["Router"]}], 
    no-console: 0, 
    import/no-unresolved: [2, { commonjs: true}], 
    no-unused-vars: ["error", { "vars": "all", "args": "none" }], 
    no-underscore-dangle: 0, 
    arrow-body-style: ["error", "always"], 
    no-shadow: ["error", { "allow": ["done", "res", "cb", "err", "resolve", "reject"] }], 
    no-use-before-define: ["error", { "functions": false }], 
    max-len: 0 
}, 
plugins: [ 
    'import' 
], 
ecmaFeatures: { 
    jsx: true, 
    modules: true 
} 
} 

答えて

0

私はあなたがesnextを取り除く必要がありますだと思います これは私のノード.eslintrcです:

{ 
    "extends" : "airbnb", 
    "rules": { 
    // disable requiring trailing commas because it might be nice to revert to 
    // being JSON at some point, and I don t want to make big changes now. 
    "comma-dangle": 0, 
    // we can use escape and template strings 
    "quotes": [1, "single", {"avoidEscape": true, "allowTemplateLiterals": true}], 
    "max-len": [0], 
    "no-console": 0, 
    "no-param-reassign": 0 
}, 
"globals": { "ENV": true }, 
"env": { 
    "browser": true, 
    "node": true, 
    "jasmine": true 
    } 
} 

そして、これらはecmaFeatures構成設定がparserOptionsの下に行く私のdevDependencies

"devDependencies": { 
    "babel-cli": "^6.9.0", 
    "babel-core": "^6.9.0", 
    "babel-preset-es2015": "^6.9.0", 
    "babel-preset-stage-0": "^6.5.0", 
    "eslint": "^3.1.1", 
    "eslint-config-airbnb": "^12.0.0", 
    "eslint-plugin-import": "1.16.0", 
    "eslint-plugin-jsx-a11y": "2.2.3", 
    "eslint-plugin-react": "6.4.1", 
    "nodemon": "^1.9.2" 
    } 
0

です。

... 
plugins: [ 
    'import' 
], 
parserOptions: { 
    ecmaFeatures: { 
     jsx: true 
    }, 
    ecmaVersion: 6, 
    sourceType: 'module' 
}, 
... 

そして、あなたはsourceType: 'module'代わりのmodules: trueを使用する必要があります。

関連する問題