忽略JSHint中的camelcase变量

Sam*_*ham 64 javascript coding-style code-cleanup jshint

JShint和以下代码行有一些问题.

$location.path('map-' + map.id + '/venue-' + map.attributes.default_venue.value);
Run Code Online (Sandbox Code Playgroud)

我收到了错误,Identifier 'default_venue' is not in camel case.这通常不会成为问题,但我对变量名称没有任何控制权 - 它是通过JSON API引入的.

有没有办法可以为受影响的变量或它们出现的行抑制此问题?

如果之前有人问过这个道歉,我很确定它一定是,但我找不到解决办法.

Jam*_*ice 127

JSHint在函数级别遵循指令,因此您可以找到封闭函数并camelcase为其添加选项.这是一个例子:

/*jshint camelcase: true */

var not_camel_case = 1; // Warns

function example() {
  /*jshint camelcase: false */
  var not_camel_case = 2; // Does not warn
}
Run Code Online (Sandbox Code Playgroud)

  • 这是一个很好的答案,但不是真正的可扩展性.如果您从API获取的所有内容都包含下划线,那么您不会在使用该数据的每个位置添加此注释.我已经辞职了,如果您的API不使用驼峰案例,那么不值得尝试在您的前端代码中强制执行它. (5认同)

小智 19

根据JSHint Docs,您可以在名为.jshintrc的同一目录中创建配置文件,或者将任何目录创建到根目录.我只是使用这个来设置我的:

  {
    "camelcase": false
  }
Run Code Online (Sandbox Code Playgroud)

这里有许多其他选项:http://jshint.com/docs/options/#camelcase