JSHint和下划线'_'

运行jshint时出现以下错误;

line 4 col 5 Redefinition of '_'. 

代码是抱怨是;

 var _ = require('lodash'); 

jshint在项目中

 { "node": true, "esnext": true, "bitwise": true, "eqeqeq": true, "immed": true, "latedef": "nofunc", "newcap": true, "noarg": true, "regexp": true, "undef": true, "smarttabs": true, "asi": true, "debug": true, "globals": { "angular": false, "_": false } } 

更新了.jshintrc以下似乎已经解决了问题。

 { "node": true, "browser": true, "esnext": true, "bitwise": false, "camelcase": false, "eqeqeq": true, "immed": true, "indent": 4, "latedef": true, "newcap": true, "noarg": true, "quotmark": "single", "regexp": true, "undef": true, "unused": false, "strict": true, "trailing": true, "smarttabs": true, "globals": { "jQuery": true, "angular": true, "console": true, "AppConfig": true, "$": true, "_": true, "moment": true, "module": true, "inject": true, "browser": true, "element": true, "describe": true, "before": true, "beforeEach": true, "after": true, "afterEach": true, "expect": true, "it": true, "by": true, "chai": true } } 

还创build了一个.jshintrc规范

 { "extends": ".jshintrc", "globals": { "describe": true, "it": true, "before": true, "beforeEach": true, "after": true, "afterEach": true, "chai": true, "inject" : true } } 

解决这个问题的一个更好的(也是常用的)方法是在使用underscorelodash库时使用双下划线__ 。 没有必要仅仅为此对jshintrc文件进行更改。