web-dev-qa-db-fra.com

Ignorer la variable camelcase dans JSHint

Avoir un petit problème avec JShint et la ligne de code suivante.

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

Je reçois l'erreur, Identifier 'default_venue' is not in camel case. Ce ne serait normalement pas un problème mais je n'ai aucun contrôle sur le nom de la variable - il est introduit via une API JSON.

Existe-t-il un moyen de supprimer ce problème pour les variables concernées ou sur les lignes dans lesquelles elles apparaissent?

Toutes mes excuses si cela a déjà été demandé, je suis presque sûr que ça a dû l'être mais je ne trouve pas de solution.

64
Sam Beckham

JSHint obéit aux directives au niveau d'une fonction, vous pouvez donc trouver la fonction englobante et lui ajouter une option camelcase. Voici un exemple:

/*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

Selon le JSHint Docs , vous pouvez créer un fichier de configuration dans le même répertoire appelé . Jshintrc , ou n'importe quel répertoire tous les chemin vers votre répertoire racine. Je viens de définir le mien en utilisant ceci:

  {
    "camelcase": false
  }

Il existe de nombreuses autres options ici: http://jshint.com/docs/options/#camelcase

19
ryanabooth

J'ai mis le nom de la propriété provenant de l'API dans une chaîne distincte. Par exemple.:

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

C'est un peu plus détaillé, mais vous pouvez regrouper tous les noms de propriété provenant de votre API et cela facilite la réponse au changement d'API.

4
sam