web-dev-qa-db-ja.com

ある1行に対してJSHintの警告を抑制する方法はありますか?

evalが使用されていた私のアプリに(単一の)ケースがあります、そして私はこのケースだけのためにJSHint警告を抑制したいです。

それを達成する方法はありますか?設定、魔法のコメント、…?

247
Mike Aski

はい、あります。実はふたつ。 In 2013年10月 jshintは次のようなコードブロックを無視する方法を追加しました。

// Code here will be linted with JSHint.
/* jshint ignore:start */
// Code here will be ignored by JSHint.
/* jshint ignore:end */
// Code here will be linted with JSHint.

このように末尾にコメントを付けて1行を無視することもできます。

ignoreThis(); // jshint ignore:line
451
Jason Punyon

「悪」の答えは私にはうまくいきませんでした。代わりに、私はJSHints docs page で推奨されているものを使いました。あなたが投げられる警告を知っているなら、あなたはコードのブロックのためにそれをオフにすることができます。たとえば、キャメルケースの関数を使用しないサードパーティのコードを使用していますが、それでも私のJSHintルールでそれが要求されているため、警告が表示されます。それを沈黙させるために、私は書いた:

/*jshint -W106 */
save_state(id);
/*jshint +W106 */
96
tollmanz

JSHintのドキュメント でわかるように、関数ごとにオプションを変更することができますまたはファイルごと。あなたの場合は、あなたのファイルにコメントを入れるか、evalを使う関数にもっとローカルにしてください。

/*jshint evil:true */

function helloEval(str) {
    /*jshint evil:true */
    eval(str);
}
37
Odi