2017-10-04 21 views
-1

jsアプリケーション。このアプリケーションには、eslintを使用する必要があります。私はhttps://www.npmjs.com/package/eslint-config-airbnbを使用していて、VSコードエディタできれいなプラグインを使用しています。nodejs expressアプリケーションでeslintを設定する方法

{ 
    "extends": "airbnb" 
} 

.eslintrc私はVSコードeslintプラグインhttps://marketplace.visualstudio.comitems?itemName=dbaeumer.vscode-eslintとNPMパッケージを追加した後、今完全なプロジェクトに私のエラーの多くを与えていることがわかります。

いくつかのエラー

[eslint] Definition for rule 'jsx-a11y/href-no-hash' was not found (jsx-a11y/href-no-hash) 
[eslint] Expected linebreaks to be 'LF' but found 'CRLF'. (linebreak-style) 
[eslint] Unexpected unnamed function. (func-names) 
[eslint] Missing space before function parentheses. (space-before-function-paren) 
[eslint] Strings must use singlequote. (quotes) 
[eslint] Unexpected function expression. (prefer-arrow-callback) 
[eslint] Unexpected unnamed function 'bind'. (func-names) 
[eslint] Missing space before function parentheses. (space-before-function-paren) 

"devDependencies": { 
    "babel": "^6.23.0", 
    "babel-cli": "^6.5.1", 
    "babel-core": "^6.9.0", 
    "babel-eslint": "^7.2.3", 
    "babel-preset-es2015": "^6.5.0", 
    "babel-preset-stage-0": "6.5.0", 
    "eslint": "^3.19.0", 
    "eslint-config-airbnb": "^15.1.0", 
    "eslint-plugin-import": "^2.7.0", 
    "eslint-plugin-jsx-a11y": "^6.0.2", 
    "eslint-plugin-react": "^7.4.0", 
    "nodemon": "^1.12.1" 
    } 

index.js

import request from "superagent"; 

module.exports = function(req, res, next) { 
    const id = "abc"; 

    request 
    .post(url) 
    .send(`p1=v1`) 
    .send(`p2=v2`) 
    .end(function(error, response) {}.bind(this)); 
    next(); 
}; 

enter image description here

各JSファイルのエラーと同じ種類のpackage.json。誰もこれらを解決する方法を知っていますか?

+0

[eslint-config-prettier](https://github.com/prettier/eslint-config-prettier)モジュールに興味があるかもしれません。 – TGrif

+0

@TGrif私はこれを持っています。 "extends":["airbnb"、 "prettyttier"] 私は同じ問題に直面しています –

答えて

-1

atom、vs code ...を使用している場合、おそらくエディタはグローバルにeslintをインストールする必要があります。

NPM -g eslintをインストール

+0

私はこれをすでに持っています。 –

1

ESLintは、あなたが何をする必要があるかのメッセージを書きました。ただそれを読んでください。

このルールで正しいコードは次のようする必要があります。

import request from 'superagent'; 

module.exports = (req, res, next) => { 
    const id = 'abc'; 

    request 
    .post(url) 
    .send('p1=v1') 
    .send('p2=v2') 
    .end((error, response) => { 
     // do something on end 
    }); 
    next(); 
}; 
6

1)を使用してdevDependenciesに以下のモジュールを追加します。

npm install --save-dev eslint 
npm install --save-dev eslint-config-airbnb-base 
npm install --save-dev eslint-plugin-import 

2)をごpackage.jsoneslintConfigセクションを追加します。

"eslintConfig": { 
    "extends": "airbnb-base", 
    "env": { 
     "es6": true, 
     "browser": true 
    }, 
    "rules": { 
     "brace-style": [ 
      "error", 
      "stroustrup" 
     ], 
     "comma-dangle": [ 
      "error", 
      "never" 
     ], 
     "no-unused-vars": [ 
      "warn" 
     ], 
     "no-var": [ 
      "off" 
     ], 
     "one-var": [ 
      "off" 
     ] 
    } 
} 

3)Visit eslint.org/docs/rules、調整する警告を探して、上記のeslintConfigに追加します。

4)プロジェクトのルートにある.eslintrcファイルを削除します。

5)あなたのIDE

+0

エラーを削除しましたが、eslintが機能しているかどうかを確認する方法。 VSコードにエラーが表示されていません –

+0

変更を加えるESLintはセミコロンを削除するか、 'var'を除いた変数を追加するように言います。また、.eslintrcファイルを削除して競合を避ける(更新済み) –

+0

私は 'string =" hello "'を実行することができますが、エラーはありません –

0

プロジェクトにeslintパッケージローカルをインストールし再起動します。

$yarn add eslint --dev 

プロジェクトの要件設定によって '.eslintrc.json' または '.eslintrc.js'または' .eslintrc.yaml」を生成

$./node_modules/.bin/eslint --init 

注: は依存eslintrcファイルを編集してくださいあなたが作成したもの以外のコーディング規則では、

関連する問題