在JSHint中忽略camelcasevariables

JShint和下面的代码行有点问题。

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

我收到错误, Identifier 'default_venue' is not in camel case. 这通常不会是一个问题,但我没有任何控制variables名称 – 它是通过JSON API引入的。

有什么办法可以抑制这个问题的受影响的variables或他们出现的路线?

道歉,如果这之前已经问过,我敢肯定它一定是,但我找不到解决scheme。

JSHint在函数级别遵从指令,所以你可以find封闭的函数,并添加一个camelcase选项。 这是一个例子:

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

根据JSHint Docs ,你可以在一个名为.jshintrc的同一个目录中创build一个configuration文件,或者在你的根目录下创build一个configuration文件。 我只是使用这个设置我的:

  { "camelcase": false } 

这里还有大量的其他选项: http : //jshint.com/docs/options/#camelcase

我把来自api的属性的名称放在一个单独的string中。 例如:

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

这有点冗长,但是可以将来自API的所有属性名称组合在一起,然后使对API的响应更容易。

接受的答案/*jshint camelcase: true */不适用于我。 我仍然得到错误。

我看着文档 ,发现这个解决scheme适合我:

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

尝试这样的东西..虽然邪恶,它会奏效。

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