最初の状態
Node.jsのソースをvscodeで開くと、例えばメソッドの終わりの中かっこを消すと赤線が出てファイルも赤く表示されるが、未定義の変数に対して代入しようとしても、赤線も何も表示されずファイルも赤くならない。
この状態だと、Node.jsを実行してからじゃないとエラーに気づけない。
解決方法
- まずは、npmからeslintをインストール
※ESLintは、「JavaScript のための静的検証ツー」
sudo npm install -g eslint
-
eslintを使えるようにするために、設定ファイルを作成(.eslintrc)
① ecmaVersionはサポートしたいesのバージョン。常に最新にする
②envの中は、es6をtrueにして、サポートを広げる。nodeのtrueは、これをしないとNode.jsとして扱ってくれない。requireを書いたら未定義エラーが出る。これを書いたらNode.jsの開発でもエラーが出なくなる。
③「 "no-undef": "error"」は、未定義の変数を使おうとしたら赤線を表示するようにしている。これがないと赤線が表示されずエラー扱いにならない
{
"parserOptions": {
"ecmaVersion": "latest"
},
"env": {
"es6": true,
"node": true
},
"rules": {
"no-undef": "error"
}
}
★このように、自分でカスタマイズしていくイメージ
感想
特にNode.jsはブラウザで動く通常のJavaScriptとは違ってサーバーを起動するので、ちゃんとエラー処理しとかないとエラーになってサーバが落ちるので注意。
try-catchで囲っていれば大丈夫かもしれないが、APIによっては再実行しすぎると制限が来る場合もあるので、自分が個人で運用してるシステム的にはただいつでも再実行したらいいってわけでもない状況なので慎重に対応しています。
参考記事