繁体   English   中英

忽略JSHint中的camelcase变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM