web-dev-qa-db-ja.com

JSHintの「必須」機能に関する警告を無効にする

Node.js用のコードをいくつか書いていますが、現在はコードをチェックするためにJSHintを使用しています。ただし、require関数を使用してモジュールをインポートすると、次のように表示されます。

「必須」は定義されていません。

警告を抑制するにはどうすればよいですか?

"use strict";
var express = require('express');   
var register = require('./routes/register');
49
somesh

jshintはデフォルトで、通知する必要があるnode.jsグローバルを認識しません。

このコメントを上部に追加します。

/* jshint node: true */

80
generalhenry

JSHintの.jshintrcファイルでnodeをグローバル環境変数として設定できます

このオプションは、コードがNodeランタイム環境内で実行されているときに使用可能なグローバルを定義します。Node.jsは、非同期イベント駆動モデルを使用するサーバー側JavaScript環境です。ブラウザー環境では意味がありますが、Nodeでは意味がありません。ファイルレベルでは、厳密なプラグマとconsole.logステートメントを使用します。

詳細情報 http://jshint.com/docs/options/#node

{
   "node": true
}

'require' is not defined'console' is not defined'module' is not definedなどのエラーは表示されなくなります

56
Sridhar

.jshintrcファイルに「require」を追加することにより、JSHintを構成できます。例えば:

{
    "globals" : {
        "require": false
    }
}

または、次の方法でのみ特定のファイルごとにグローバルを定義できます。

/* global require */

JSHintの構成方法の詳細については、 JSHint Documentation を参照してください。

6
Vlad Bezden