Могу ли я предварительно скомпилировать код JS при создании решения? Я хотел бы узнать об общих проблемах, прежде чем перейду к браузеру. В идеале я бы создал sln и, при необходимости, имел бы плагин или вызов из событий сборки, проверял код js на компиляторе Java. Заранее большое спасибо!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Javascript - это интерпретируемый язык, он не компилируется до времени выполнения. Кроме того, javascript имеет очень и очень мало общего с Java. Netscape выпустила JavaScript примерно в то же время, когда Sun выпустила Java, и между ними было своего рода маркетинговое соглашение. В противном случае они не связаны.
Javascript не компилируется, не имеет ничего общего с Java, кроме некоторого общего синтаксиса, и его лучше всего протестировать, загрузив ваше приложение в браузер.
Есть несколько доступных фреймворков / инструментов для тестирования JS, но я не могу рекомендовать ни один из них сам.
Несмотря на то, что говорили многие другие плакаты, во многих случаях (включая движок Mozilla Spidermonkey, найденный в браузере Firefox) Javascript является на самом деле скомпилирован в байт-коды, отдаленно похожий (но не совместимый) с теми, которые используются в Java. Вы просто не видите вывод компилятора, потому что он никогда не доступен вам, только интерпретатору байт-кода Javascript. Также невозможно сохранить скомпилированные байт-коды для повторного использования (по крайней мере, в контексте веб-браузера; при альтернативном использовании движка Spidermonkey я думаю, что можно сохранить скомпилированные байт-коды в памяти для повторного использования, но не в форме, которая может можно сохранить на диск для дальнейшего использования), насколько мне известно.
Я использую оболочку Javascript JSDB, которая также использует движок Spidermonkey; когда вы загружаете файл, он будет жаловаться на синтаксические ошибки еще до того, как запустит хотя бы одну строку кода. Однако это не тот же тип компиляции, что и Java; Javascript - это язык со слабой типизацией, поэтому он не будет обнаруживать проблемы, как компилятор Java (например, жаловаться на все, что он знает, что вы сделали неправильно).
Сказав это, я бы добавил JSLint во второй раз, так как он, вероятно, поймает многие из ваших ошибок.
Кстати, проект Носорог позволяет вам компилировать Javascript в классы Java; Я никогда не пробовал, но звучит интересно.
Прошу прощения за неправильное употребление термина «компилировать». Я полностью понимаю разницу между компилируемыми и интерпретируемыми языками. Меня интересует регулярная проверка моего синтаксиса во время сборки, чтобы помечать опечатки, недопустимые вызовы методов и тому подобное. Я собираюсь изучить, что порекомендовал для этого Джейсон С. Я также полностью осознаю, что JavaScript - это не Java, но я читал раньше, что вы можете запускать свой JS-код через компилятор Java для проверки синтаксиса. Я надеялся найти что-то более интегрированное с VS.
Большое спасибо всем, кто понимает смысл моей просьбы.
Попробуйте JSLint.VS