- 更新日: 2017年5月17日
 - jQuery & JavaScript
 
React.js用にESLintをインストールして設定、JavaScriptコードを楽に検証しよう
ESLint は、JavaScript コードをチェックするための静的検証ライブラリです。文法エラーやコーディングスタイルなどを、プログラム実行前に検証してチェックすることができます。今回は、React.js を用いて書いた JavaScript コードを検証するための ESLint 環境を作りました。
— 環境 —
npm 4.6.1
yarn 0.24.5
macOS Sierra
npm のアップデート。
| 
					 1 2 3 4 5  | 
						$ npm update -g npm $ npm --version 4.6.1  | 
					
yarn のアップデート。
| 
					 1 2 3 4 5  | 
						$ brew upgrade yarn $ yarn --version 0.24.5  | 
					
ESLint のパッケージ群をインストール
package.json が未作成の場合は、事前に npm init で作成しておきます。
| 
					 1 2 3  | 
						$ npm init  | 
					
対話的に回答すると、package.json が作られる。
JavaScript(React,ES6,JSX)のコードを解析するために、以下のパッケージ群をインストールします。また eslint-config-airbnb も入れて、Airbnb のコーディング規約を用いて .eslintrc を設定します。
・eslint-config-airbnb
・eslint-plugin-import
・eslint-plugin-react
・eslint-plugin-jsx-a11y
・eslint
npm でインストール
npm でパッケージをローカル(node_modules ディレクトリ)にインストールします。
| 
					 1 2 3  | 
						$ npm install --save-dev eslint-config-airbnb eslint-plugin-import eslint-plugin-react eslint-plugin-jsx-a11y eslint  | 
					
–save-dev オプションを付けると、package.json の devDependencies にもパッケージが追記されます。
-g オプションを付けるとグローバルにインストールできますが、おすすめはしません。
| 
					 1 2 3  | 
						$ npm install -g --save-dev eslint  | 
					
私はグローバル環境を汚したくないので、-g オプションは付けずにローカルにインストールしました。
yarn でインストール
yarn でインストールする場合は以下。yarn を使うとパッケージのインストールが速いです。
| 
					 1 2 3  | 
						$ yarn add --dev eslint-config-airbnb eslint-plugin-import eslint-plugin-react eslint-plugin-jsx-a11y eslint  | 
					
npm 同様にローカル(node_modules ディレクトリ以下)にパッケージがインストールされます。
eslint –init で ESLint の設定ファイル(.eslintrc)を作成
eslint –init を実行して対話的に答えて、設定ファイル(.eslintrc)の作成を行います。ローカルのディレクトリ(node_modules 以下)に eslint をインストールしたので、eslint コマンドを実行するにはパスを指定する必要がある。
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  | 
						$ ./node_modules/.bin/eslint --init ? How would you like to configure ESLint? Answer questions about your style ? Are you using ECMAScript 6 features? Yes ? Are you using ES6 modules? Yes ? Where will your code run? Browser ? Do you use CommonJS? No ? Do you use JSX? Yes ? Do you use React? Yes ? What style of indentation do you use? Spaces ? What quotes do you use for strings? Single ? What line endings do you use? Unix ? Do you require semicolons? No ? What format do you want your config file to be in? JSON Successfully created .eslintrc.json file in /path/to/my_project  | 
					
.eslintrc.json が以下の内容で作成されました。
.eslintrc.json
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35  | 
						{     "env": {         "browser": true,         "es6": true     },     "extends": "eslint:recommended",     "parserOptions": {         "ecmaFeatures": {             "experimentalObjectRestSpread": true,             "jsx": true         },         "sourceType": "module"     },     "plugins": [         "react"     ],     "rules": {         "indent": [             "error",             4         ],         "linebreak-style": [             "error",             "unix"         ],         "quotes": [             "error",             "single"         ],         "semi": [             "error",             "never"         ]     } }  | 
					
プロジェクトに合わせて、独自のルールを rules プロパティに追加してカスタマイズします。
パス指定なしで eslint コマンドを使えるようにする
ローカルのディレクトリ(node_modules)以下にインストールした ESLint で、パス指定なしで eslint コマンドを実行できるようにします。eslint-cli というパッケージをインストールすると良いです。
| 
					 1 2 3  | 
						$ npm install -g eslint-cli  | 
					
eslint-cli は、グローバルにインストールするため -g オプションを付けてインストール。これで、ローカルのディレクトリ(node_modules 以下)に入れた eslint コマンドをパス指定なしで実行できるようになります。
| 
					 1 2 3 4  | 
						$ eslint --version v3.19.0  | 
					
ESLint でコードをチェックする
テスト用の JavaScript ファイルを作成して、ESLint でチェックしてみます。
| 
					 1 2 3 4  | 
						$ vi example.js document.write("hello world");  | 
					
続いて、example.js を eslint でチェック。
| 
					 1 2 3 4 5 6 7 8 9  | 
						$ eslint example.js /path/to/my_project/example.js   1:16  error  Strings must use singlequote  quotes   1:30  error  Extra semicolon               semi x 2 problems (2 errors, 0 warnings)  | 
					
エラーが2つ出ました。「文字列はシングルクォートで囲ってね」、「セミコロンが余計だよ」の2つを修正します。
| 
					 1 2 3 4  | 
						$ vi example.js document.write('hello world')  | 
					
もう一度チェック。
| 
					 1 2 3  | 
						$ eslint example.js  | 
					
警告が出なくなりました。
ESLint でのチェック実行コマンドを npm script にする
いちいちファイルを指定して eslint でチェックを実行するのは面倒くさいので、JavaScript ファイルをいっぺんに検証できるように npm script としてまとめておきます。
package.json
| 
					 1 2 3  | 
						"scripts": {   "lint": "eslint **/*.js" }  | 
					
これで以下のように実行して、まとめて eslint によるチェックを実行できる。
| 
					 1 2 3  | 
						$ npm run lint  | 
					
- – 参考リンク –
 - ESLint をグローバルにインストールせずに使う – Qiita
 - ESLint で ES6で書かれたReact のコードを検証する – Qiita
 - ReactとReduxを使ったアプリを試すための環境作る – Qiita
 - npmでeslint-config-airbnbを導入してみる – Motomichi Works Blog
 
- jQuery & JavaScript の関連記事
 - JavaScriptでHTMLコメント要素を取得する
 - YahooのJavaScriptマップAPI(YOLP)で地図を描画
 - HTML5のGeolocation APIで現在地の位置情報(緯度/経度)を取得するJavaScriptコード
 - JavaScriptでキャメルケースを単語に分割
 - Browserify + GulpでクライアントのJavaScript / CoffeeScriptでrequire
 - JavaScript/jQueryでDOM要素が存在するか確認する方法
 - JavaScriptでスクロールを一時的に止める
 - JavaScriptでcapitalize、アルファベット一文字目を大文字にする
 - JavaScriptでrangeオブジェクトから座標を取得するコード
 - CoffeeScript入門、クラス継承とメソッドのオーバーライド
 

画像付き英語辞書 Imagict | 英単語をイメージで暗記





Leave Your Message!