在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; } });