У меня есть небольшое веб-приложение, использующее Spring Boot и Angular 1, Maven и Wro4j, и я хочу попробовать Angular 2, в котором я совершенно новичок.
Я использую Maven/Wro4j 1.8.0 для минимизации во время компиляции и получения одного файла js для угловых зависимостей, который затем использую в заголовке index.html. Хотя это работало с моим приложением angular 1, минификация теперь не работает. Я использую jsMin
в качестве процессора. Ошибка при обработке webjar:angular__compiler/2.1.1/bundles/compiler.umd.js
.
Покопавшись в доке wro4j, я нашел процессор ngAnnotate
, который может быть решением моей проблемы. Но у меня есть еще две проблемы:
- Я добавил ng-annotate 1.2.1 в свой pom.xml (зависимости wro4j), но он не работает из-за неудовлетворенной транзитивной зависимости от acorn (ng-annotate 1.2.1 pom зависит от acorn [2.6.4,2.7), и есть нет такой версии на Maven Central). Чтобы обойти это, я отредактировал pom ng-annotate, чтобы использовать acorn 2.7.0, что может быть не лучшим решением.
- После получения моей зависимости в порядке и добавления
ngAnnotate
в список процессоров (доjsMin
) я получаю это сообщение об ошибке:
процессор не поддерживается в этой среде
Вроде пытается запустить ng-annotate и не находит. В документации Wro4j указано, что "Реализация предполагает, что установлен необходимый npm". Я думал (кажется, ошибочно), что добавления веб-банки ng-annotate в pom будет достаточно. Что я пропустил?
Примечание. Мне бы очень хотелось, чтобы Maven управлял всей конфигурацией (Java и Js), которая работала раньше, вместо того, чтобы переключаться на решение с зависимостями js. Я никогда не использовал ни команду npm, ни grunt, ни bower, и до сих пор в ней не было необходимости.