2012-02-02 3 views
2

Я в настоящее время разрабатываю приложение для калитки, где в режиме разработки мне нужно проверить код Javascript, который вставляется в обработанный вывод.Java Webdevelopment Рабочий процесс проверки Javascript?

Я знаю, что для обертывания JSLint (например, JSLint Maven Plugin,) есть некоторые Java-обертки. Моя проблема заключается в том, что мне также необходимо проверить JS, который добавляется к кнопкам и ссылкам в рендеринге разметки, например: <a href="#" onclick="xxx"></a>

Редактировать: Я хочу сделать это в процессе сборки.

+0

Вам нужно сделать это как часть процесса сборки или во время выполнения? –

+0

Как я уже писал выше: Я хотел бы сделать это во время сборки, чтобы эти тесты были включены в мои отчеты. –

ответ

1

Избегайте логики в JavaScript в встроенных атрибутах, например onclick = "if (condition) {...} else {...}". Лучше переместите эту логику в функцию в .js-файле и просто назовите ее: onclick = "doSomething()". Таким образом вы можете использовать любой инструмент linter во время сборки.

+0

Ну, я согласен. Но, к сожалению, проект калитки Apache сильно использует вышеупомянутые вами ... –

+1

Хорошей новостью является то, что в Wicket 6.0 это больше не так. Мы переработали его для использования прослушивателей событий. –

+0

Принимая ваш ответ и с нетерпением ожидаем новых решений в Wicket 6.0. –

0

Я бы предложил создать парсер, который извлекает все javascripts, найденные на странице (как часть процесса сборки, не рекомендуется делать это во время выполнения). Associate обнаружил js с метаданными, описывающими местоположение этого javascript, и после этого выполнить анализ jslint или jshint на всех найденных javascript, используя любой из упомянутых вами инструментов.

+0

Да, но синтаксический анализ будет трудно выполнить, поскольку некоторые ошибки js могут быть вызваны из-за того, что они не содержат «" »и« »или« '... Это обстоятельство на самом деле является причиной моего вопроса .. –

+0

.. и я собирался не создавать собственные вещи для этого, но использовать инструмент, скажем так: сообщество ... –

+1

Этот прецедент очень обыден. Очень маловероятно, что есть инструмент, который будет делаю все это. –

Смежные вопросы