![](/img/trans.png)
[英]JSHINT: is there a way in to ignore camelCase only property and enforce it on variable and function
[英]Ignore camelcase variable in JSHint
JShint和以下代码行有一些问题。
$location.path('map-' + map.id + '/venue-' + map.attributes.default_venue.value);
我收到错误, Identifier 'default_venue' is not in camel case.
这通常不会成为问题,但我对变量名称没有任何控制权 - 它是通过JSON API引入的。
有没有办法可以为受影响的变量或它们出现的行抑制此问题?
如果之前有人问过这个道歉,我很确定它一定是,但我找不到解决办法。
JSHint遵循函数级别的指令,因此您可以找到封闭函数并为其添加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的同一目录中创建配置文件,或者将任何目录创建到根目录。 我只是设置我的使用:
{
"camelcase": false
}
这里有许多其他选项: http : //jshint.com/docs/options/#camelcase
我将来自api的属性名称放在一个单独的字符串中。 例如:
var defaultVenueAttributeKey = 'default_venue';
$location.path('map-' + map.id + '/venue-' + map.attributes[defaultVenueAttributeKey].value);
它有点冗长,但您可以将来自API的所有属性名称组合在一起,然后它可以更轻松地响应API更改。
接受的答案/*jshint camelcase: true */
对我不起作用。 我还是得到了错误。
我查看了文档 ,发现这个解决方案对我有用:
/*eslint camelcase: ["error", {properties: "never"}]*/
尝试这样的事情..虽然邪恶,但它会奏效。
var foo;
$.each( jsonArray, function ( i, value ) {
if ( i === 'array_element' ) {
foo = value;
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.