web-dev-qa-db-ja.com

JSHintでキャメルケース変数を無視する

JShintと次のコード行に少し問題があります。

$location.path('map-' + map.id + '/venue-' + map.attributes.default_venue.value);

エラーが発生しています、Identifier 'default_venue' is not in camel case.これは通常は問題になりませんが、変数名を制御することはできません-JSON APIを介して取り込まれます。

影響を受ける変数またはそれらが現れる行でこの問題を抑制する方法はありますか?

これが以前に尋ねられた場合、おologiesびします。私はそれがあったに違いないと確信していますが、解決策を見つけることができません。

64
Sam Beckham

JSHintは関数レベルでディレクティブに従います。そのため、囲む関数を見つけてcamelcaseオプションを追加できます。以下に例を示します。

/*jshint camelcase: true */

var not_camel_case = 1; // Warns

function example() {
  /*jshint camelcase: false */
  var not_camel_case = 2; // Does not warn
}
126
James Allardice

JSHint Docs によると、。jshintrcと呼ばれる同じディレクトリに設定ファイルを作成できます。ルートディレクトリへの道。私はこれを使用して私のものを設定しました:

  {
    "camelcase": false
  }

ここには他のオプションがたくさんあります: http://jshint.com/docs/options/#camelcase

19
ryanabooth

APIからのプロパティの名前を別の文字列に入れます。例えば。:

var defaultVenueAttributeKey = 'default_venue';
$location.path('map-' + map.id + '/venue-' + map.attributes[defaultVenueAttributeKey].value);

これはもう少し冗長ですが、APIからのすべてのプロパティ名をグループ化すると、APIの変更への応答が簡単になります。

4
sam