snake not kebab camelcase camel javascript coding-style jshint code-cleanup

javascript - kebab - is not in camel case



Ignorar la variable camelcase en JSHint (5)

Tener un problema con JShint y la siguiente línea de código.

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

Recibo el error. El Identifier ''default_venue'' is not in camel case. Normalmente, esto no sería un problema, pero no tengo ningún control sobre el nombre de la variable: se envía a través de una API JSON.

¿Hay alguna manera de que pueda suprimir este problema para las variables afectadas o en las líneas en las que aparecen?

Disculpas si esto se ha preguntado antes, estoy bastante seguro de que debe haber sido, pero no puedo encontrar una solución.


JSHint obedece directivas en un nivel de función, por lo que puede encontrar la función camelcase y agregarle una opción de camelcase . Aquí hay un ejemplo:

/*jshint camelcase: true */ var not_camel_case = 1; // Warns function example() { /*jshint camelcase: false */ var not_camel_case = 2; // Does not warn }


La respuesta aceptada /*jshint camelcase: true */ no funcionó para mí. Todavía estaba recibiendo los errores.

docs los docs y encontré esta solución que funcionó para mí:

/*eslint camelcase: ["error", {properties: "never"}]*/


Pongo el nombre de la propiedad procedente de la API en una cadena separada. P.ej:

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

Es un poco más detallado, pero puedes agrupar todos los nombres de propiedad que provienen de tu API y luego hace que responder al API sea más fácil.


Pruebe algo como esto ... Aunque sea malvado, funcionará.

var foo; $.each( jsonArray, function ( i, value ) { if ( i === ''array_element'' ) { foo = value; } });


Según JSHint Docs , puede crear un archivo de configuración en el mismo directorio llamado .jshintrc , o cualquier directorio hasta llegar a su directorio raíz. Acabo de establecer el mío usando esto:

{ "camelcase": false }

Hay muchas otras opciones aquí: http://jshint.com/docs/options/#camelcase