Следующий JS:
(function() {
"use strict";
$("#target").click(function(){
console.log("clicked");
});
}());
Урожайность:
test.js: line 5, col 3, '$' is not defined.
При окраске с использованием JSHint 0.5.5. Любые идеи?
javascript
jquery
lint
jshint
Аллил Изоцианат
источник
источник
jquery.js
на свою страницу?$
он не определен.Ответы:
Если вы используете относительно свежую версию JSHint, обычно предпочтительным подходом является создание файла .jshintrc в корне вашего проекта и размещение в нем этой конфигурации:
Это объявляет JSHint, что $ является глобальной переменной, а false указывает, что она не должна быть переопределена.
Файл .jshintrc не поддерживался в действительно старых версиях JSHint (например, v0.5.5, как в первоначальном вопросе 2012 года). Если вы не можете или не хотите использовать файл .jshintrc, вы можете добавить его вверху файла скрипта:
Существует также сокращенная опция jshint «jquery», как показано на странице параметров JSHint .
источник
/*global $:false, jQuery:false */
./* global ... */
? Обычно я импортирую сценарий со всеми своими функциями в свой,main
поэтому егоВы также можете добавить две строки в ваш .jshintrc
Это говорит jshint, что есть две глобальные переменные.
источник
Все, что вам нужно сделать, это установить
"jquery": true
в своем.jshintrc
.В соответствии с опциями JSHint :
источник
Вот небольшой список, который можно добавить в ваш файл .jshintrc, который
я добавлю в этот список по прошествии времени.
источник
Если вы используете редактор IntelliJ, такой как WebStorm, PyCharm, RubyMine или IntelliJ IDEA:
В разделе «Среда» файла / «Настройки» / «JavaScript» / «Инструменты качества кода» / JSHint установите флажок «jQuery».
источник
Вместо того, чтобы рекомендовать обычное «отключение глобалов JSHint», я рекомендую использовать шаблон модуля для решения этой проблемы. Он сохраняет ваш код в «замкнутом» виде и повышает производительность (на основе «10 вещей, которые я узнал о Jquery» Пола Айриша ).
Я склонен писать шаблоны своих модулей следующим образом:
Вы можете получить эти другие преимущества производительности (объяснено больше здесь ):
window
объекте объявление также минимизируется. например,window.alert()
статьm.alert()
.window
объекта.window
свойства или метода, предотвращая дорогой обход цепочки областей действия, напримерwindow.alert()
(быстрее) по сравнению сalert()
(медленнее) производительности.источник
"}(window))
«в вашем примере - у меня были проблемы также с jQuery и Highcharts). Я не нашел способа отключить его, кроме определения глобального для файла, который затем побеждает цель.browser: true
сообщает JSHint, что вы ожидаете среду браузера (гдеwindow
она уже определена).Если вы используете редактор IntelliJ, в
Например
console:false
, вы можете ввести что угодно, и это добавит это к списку (.jshintrc), а также к глобальному.источник
Чтобы исправить эту ошибку при использовании онлайн-реализации JSHint :
источник
Вы, вероятно, хотите сделать следующее,
чтобы избежать этого бросая ошибку линтинга.
источник