2015-01-29 3 views
0

Я использую глобально доступный объект navigator, который браузер предоставляет в проекте Ember-CLI (например, с синтаксисом ES6), и я бы хотел избежать ошибок при ссылках на этот действительный глобальный объект.Использование навигационных браузеров приводит к ошибке JShint

Я видел это предложение: Ember CLI - Error when using moment.js in route и попытался добавить ['навигатор'] в определение predef в файле .jshintrc. Кажется, это не повлияло. Я также затем поместить следующее в самом файле JS:

/* global navigator: false */ 

Это работало, но я все еще чувствую, что альтернативой .jshintrc было бы неплохо. Есть ли способ достичь этого? Почему моя попытка не имела желаемых результатов так же, как пример momentjs?


Кстати, здесь есть настройка по умолчанию, что Эмбер-CLI ставит:

ответ

1

Существующий ответ не совсем точный, но он имеет неправильный формат и не дает понять, что для тестов есть отдельный файл .jshintrc. В моем случае это было необходимо обновить.

В tests/.jshintrc (который отличается от основного .jshintrc) добавить "navigator" к "predef" массива, например:

{ 
    "predef": [ 
    "document", 
    "window", 
    "navigator", 
    "location", 
    ... 
    ] 
} 
0

В .jshintrc файле, вы должны сделать это таким образом:

{ 
    "predef": { 
    "navigator": true 
    } 
} 

Надеется, что это помогает! :)

+1

имеет смысл, что это было бы словарную структуру, как вы предлагаете, но угасающий-CLI имеет значения по умолчанию который я бы не решался поиграть с тем, где он обрабатывает 'predef' как массив. Поддерживается ли более одного синтаксиса? – ken

+1

ОК, это должно было измениться некоторое время назад, и вы правы, теперь это массив :), но я создал новое приложение с использованием 'ember new app' и попытался добавить' abc' в этот массив, затем я побежал тесты, и это сработало! не добавляя 'abc' в' predef', хотя я имею ошибку jshint. Может быть, вы меняете его на неправильный файл .jshintrc? для источника и тестов есть два отдельных – andrusieczko

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