eval
が使用されていた私のアプリに(単一の)ケースがあります、そして私はこのケースだけのためにJSHint警告を抑制したいです。
それを達成する方法はありますか?設定、魔法のコメント、…?
はい、あります。実はふたつ。 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
「悪」の答えは私にはうまくいきませんでした。代わりに、私はJSHints docs page で推奨されているものを使いました。あなたが投げられる警告を知っているなら、あなたはコードのブロックのためにそれをオフにすることができます。たとえば、キャメルケースの関数を使用しないサードパーティのコードを使用していますが、それでも私のJSHintルールでそれが要求されているため、警告が表示されます。それを沈黙させるために、私は書いた:
/*jshint -W106 */
save_state(id);
/*jshint +W106 */
JSHintのドキュメント でわかるように、関数ごとにオプションを変更することができますまたはファイルごと。あなたの場合は、あなたのファイルにコメントを入れるか、eval
を使う関数にもっとローカルにしてください。
/*jshint evil:true */
function helloEval(str) {
/*jshint evil:true */
eval(str);
}