Предположим, библиотека прототипов при запуске JSLint - PullRequest
2 голосов
/ 21 февраля 2011

У меня есть несколько файлов JavaScript, которые я пытаюсь запустить через JSLint. В файлах используется Prototype JS v1.6 . Я не хочу запускать prototype-1.6.js через JSLint, так как это создает много предупреждений, которые меня не интересуют, я хочу запускать только свои собственные исходные файлы. Однако, если я исключаю источник прототипа при запуске JSLint, я получаю много предупреждений о неопределенных классах и т. Д.

Может кто-нибудь сказать мне, как заставить JSLint «предполагать», что прототип присутствует, поэтому он не предупреждает ложными срабатываниями о прототипе?

1 Ответ

0 голосов
/ 24 апреля 2013

Вы можете запретить предупреждения JSLint для глобалов, которые определены сторонней библиотекой, следующим образом:

/*jslint <your usual jslint options> */
/*global foo, bar, baz */

Так что для Prototype вы бы использовали что-то вроде /*global $, $$, Ajax, Class, ....

Впрочем, скопировать и вставить это в заголовок всех ваших файлов JS довольно сложно. У вас есть несколько способов избежать этого:

  • Запустите JSLint из командной строки ( например, с Grunt ) и установите глобальные переменные централизованно в опциях, которые вы там передаете.
  • Используйте JSHint, который поддерживает prototypejs: true параметр , который автоматически предопределяет все эти глобальные переменные для вас. Многие предпочитают JSHint, поскольку он более гибкий, чем JSLint.
  • Используйте форк JSLint из ссылки Скруффера выше (просто скачайте его копию jslint.js ), которая аналогичным образом добавляет опцию prototype: true.
...