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 } }
解决这个问题的一个更好的(也是常用的)方法是在使用underscore
或lodash
库时使用双下划线__
。 没有必要仅仅为此对jshintrc
文件进行更改。