Подтвердить что ты не робот

Инструмент командной строки для поиска основных ошибок синтаксиса Javascript?

Есть ли инструменты командной строки Linux, которые могут улавливать основные ошибки синтаксиса и компилировать временные ошибки в моих файлах Javascript, даже если указанные файлы Javascript написаны для использования в веб-браузере?

Я обычно кодирую свой Javascript в то же время, когда я кодирую код на стороне сервера, скажем, Ruby или Perl. Это сэкономит мне значительное время, если я смогу частично протестировать Javascript на стороне клиента так же, как я проверю свою серверную часть Ruby и Perl - в командной строке, как правило, из emacs. Я не ожидаю, что на сервере будут исправлены ошибки JavaScript на JavaScript, а также основные вещи, такие как неправильное имя переменной или дополнительная скобка где-то или строка убегания, что можно найти до того, как на самом деле попытается выполнить код.

Что я делаю сейчас, чтобы проверить/отладить Javascript - это обычный цикл "посещать веб-приложение в браузере, проверить Firebug или другую консоль, вернуться к emacs для исправления ошибок, повторить". Это неизбежно неизбежно для более сложных типов ошибок (например, при взаимодействии с пользователем и сетью), но синтаксическая ошибка садового разнообразия может быть обнаружена и обработана быстрее в командной строке без загрузки браузера.

Я немного посмотрел на некоторые серверные платформы, такие как node.js, но все они были ориентированы на запись и выполнение кода на стороне сервера (так что все биты конкретной стороны клиента в моем коде предположительно сделают это barf). Я также нашел режим emacs для javascript REPL, но он, похоже, не предназначен для выполнения простых проверок компиляции - он в основном загружает всю страницу через внешний графический браузер и позволяет обезьяне с ней, что я и пытаюсь избежать.

4b9b3361

Ответ 1

Такие вещи, как YUICompressor, эффективно выполняют проверку синтаксиса.

Ответ 2

Это не прямой ответ на ваш вопрос, поскольку это инструмент графического интерфейса, но я большой поклонник Aptana, Он использует SpiderMonkey для компиляции вашего кода в фоновом режиме и дает вам красные squigglies для синтаксических ошибок по мере ввода. (Он также делает то же самое для HTML.) Он также пытается дать вам intellisense для JS, но это хит-мисс. Хорошо, когда он работает.

Так как я, вероятно, не убедил вас изменить среду разработки, позвольте прямо ответить на ваш вопрос. Почему бы не использовать механизм SpiderMonkey, чтобы сбрасывать приложение командной строки, которое делает то, что вы ищете? Он выглядит достаточно легким для подключения. Вам даже не придется беспокоиться о том, что вам гарантировано получить исключения во время выполнения (в вашей среде не будет объектов DOM) — вам не нужно фактически выполнять script. Просто позвоните JS_CompileScript и проверьте успех. (И затем уничтожьте объект JSScript, конечно.)

Или, если вы ленивы, вы можете попробовать Rhino Shell, который является инструментом командной строки Java, который выполняет JavaScript.

Ответ 3

Я нахожу JSHint, + его плагин vim очень полезен. Легкий вес vim и по-прежнему можно отслеживать синтаксические ошибки javascript. JSHint также может использоваться как инструмент командной строки.

https://github.com/walm/jshint.vim

Ответ 4

Отладчик Javascript с консолью в хроме:

браузер Chrome имеет отладчик javascript, который может найти ошибки JavaScript:

В Chrome нажмите Инструменты → Консоль JavaScript:

enter image description here

Это исследование страницы JavaScript со следующим кодом:

var error(){

}

И он говорит мне, что с ним не так, неожиданно '('.

enter image description here

Рассказывая мне, я не могу определить такую ​​функцию, как в строке 14 моего файла javascript.

Если вы нажмете на ссылку рядом с ошибкой, она возьмет вас и выделит строку с ошибкой/предупреждением.