2014-11-28 2 views
4

Получение следующей ошибки при запуске 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 
    } 
} 
+0

'Redefinition' предполагает, что вы уже определили его где-то – mvuajua

+0

вы уверены, что файл конфигурации jshint обрабатывается? Попробуйте добавить «someglobal»: true для globals, а затем выполните var someglobal = 123; Вызывает ли это исключение для переопределения некоторых глобальных? – Etai

ответ

3

Обновленный .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 
    } 
} 

также создал .jshintrc-SPEC

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

А лучше (и часто используемый) способ решения этой проблемы является использование двойного подчеркивания __ требуя при этом либо underscore или lodash библиотеку. Не нужно вносить изменения в файл jshintrc только для этого.

Смежные вопросы