Как вы используете файл JsHint .jshintrc с расширением Visual Studio 2013 Web Essentials?

Я установил расширение «Web Essentials» в Visual Studio 2013. Теперь я получаю предупреждения JSHint в окне «Список ошибок» в разделе «Сообщения». Однако он жалуется на некоторые глобальные переменные, которые, по его мнению, не определены.

Из того, что я прочитал, вы можете использовать файл JSHint .jshintrc для перечисления глобальных переменных, чтобы он перестал жаловаться на них. Я хочу настроить его следующим образом. (чтобы он перестал жаловаться на "ko"... глобальную переменную KnockoutJs.)

"globals": {
    "$": false,
    "jQuery": false,
    "ko": false
 }

Как и где вы должны создать этот файл .jshintrc в своем проекте VS?

Я попытался добавить файл в корень проекта, назвав его буквально как «.jshintrc», но Visual Studio жалуется, говоря, что:

"File and folder names cannot contain a leading period."

Кажется, я не могу найти документацию о том, как добавить этот файл в ваш проект Visual Studio, чтобы расширение Web Essentials подобрало его.

Есть идеи?


Обновить

У Хекса был правильный ответ. Мне пришлось открыть командную строку, чтобы переименовать файл, так как проводник Windows также не позволял мне назвать файл, начинающийся с точки. После этого я также последовал совету Хекса по заключению всего этого в фигурные скобки. Вот содержимое моего файла .jshintrc.... который находится в корневой папке моего WebApp... вместе с другими файлами, такими как web.config.

{
    "globals": {
        "$": false,
        "jQuery": false,
        "ko": false
      }
}

Я больше не получаю 10 миллионов ненужных предупреждений об объекте «ko». :) Спасибо Хекс!


person ClearCloud8    schedule 11.12.2013    source источник
comment
Я сам везде искал ответ на этот вопрос. Я нахожу немного запоздалым то, что JSHint использует файл, который требует ведущей точки в имени файла. Вы даже не можете создать этот файл в проводнике Windows.   -  person Chris Beckett    schedule 18.12.2013
comment
Это может быть долгим шагом, но у меня есть Visual Studio 2012, и он отказывается распознавать файл jshintrc. Я написал это, как рекомендовано здесь, но он все еще жалуется на глобальные переменные.   -  person Frederik T    schedule 03.03.2014


Ответы (3)


Корень проекта в порядке. Я думаю, что JsHint ищет файл до самого верха файловой системы.

Вы можете создать файл с помощью командной строки. просто создайте файл с помощью вашего любимого инструмента, а затем переименуйте его из cmd, например «ren jshintrc .jshintrc»

Также я обнаружил, что мне нужно перезапустить VS, чтобы он загрузил изменения в файле jshintrc.

Если это все еще не работает, попробуйте поместить весь файл в {}. Я не уверен, что это необходимо, но я вижу это в другом месте.

person hex    schedule 26.12.2013
comment
Спасибо. Хорошо, что теперь появляются полезные сообщения JsHint! Вы правы, мне пришлось заключить все это в фигурные скобки. - person ClearCloud8; 24.01.2014

Самый простой способ создать/отредактировать глобальные настройки JSHint (а также настройки TSLint, CoffeLint и JSCS) — щелкнуть меню Web Essentials и выбрать соответствующий параметр.

Меню веб-основ

Таким образом, Web Essentials позаботится о создании файла для вас, если он еще не существует.

person Yann Duran    schedule 11.03.2014
comment
Ничего себе, я никогда не замечал это меню вверху. Спасибо!! Кстати, когда я нажимаю на элемент меню «Редактировать глобальные настройки JSHint», вы показали, что он открывает файл, но когда я нажимаю «Синхронизировать с активным документом» в обозревателе решений.... он не указывает местоположение файла. Я попытался отредактировать этот файл, но это не привело к проверке или отложенным изменениям для моего проекта в системе управления версиями. (Эта версия .jshintrc кажется одним и тем же файлом во всех решениях VS.) Так что пока я продолжаю использовать файл, который я создал в корневом каталоге веб-приложения, потому что он путешествует с моим проектом и отслеживается в TFS. - person ClearCloud8; 11.03.2014
comment
Файлы хранятся в C:\Users\%username%, что лично мне не нравится, но да, вы правы, это глобальные настройки Web Essentials, поэтому имеет смысл, если вы хотите, чтобы файл определенного типа быть исключены (например, jquery*.js), которые вы хотели бы исключить во всех решениях. Таким образом, их можно рассматривать как глобальные для вас, а не связанные с каким-либо отдельным решением/проектом. Если вам нужна настройка, уникальная только для одного проекта, вы должны добавить файл, как вы описали. - person Yann Duran; 12.03.2014

Я добавил jshint через расширения Visual Studio. Под пунктом меню находится пункт меню Параметры JavaScript Linter.... Он вызывает диалоговое окно, позволяющее выбрать множество различных параметров. Чтобы удалить ошибку «$» не определена, я проверил параметр «Предполагать jQuery». введите здесь описание изображения

person Rick    schedule 27.05.2015