Интеграция Angular 7 с существующим Java-приложением - PullRequest
0 голосов
/ 06 марта 2019

Я новичок в угловой.Мое текущее приложение построено на Java с JSP с использованием библиотеки YUI.В нашем приложении у нас есть несколько вкладок.Возможно ли изначально переключиться на Angular 7 с тем же приложением для одной или двух вкладок, или нам нужно начать с нового проекта.

Пожалуйста, предложите.

1 Ответ

0 голосов
/ 06 марта 2019

Да, это выполнимо, так как Angular может самозагрузиться со страницы JSP. Это может быть отличным способом сохранить текущее приложение при переходе на Angular. Таким образом, вам потребуется меньше обслуживания старых вкладок, поскольку они могут быть удалены быстрее, в то время как вкладки, которые остаются в JSP, могут продолжать работать.

Для начала включите корень приложения Angular и все пакеты где-нибудь в JSP заменяемых вкладок.

<app-root></app-root>

<!-- Angular must load AFTER the app-root selector for bootstrapping  -->
<% if( request.getHeader("Host").equals("localhost:4200") ) { %>
  <!-- dev bundles, to allow the normal angular workflow on localhost -->
  <script src="inline.bundle.js"></script>
  <script src="polyfills.bundle.js"></script>
  <script src="styles.bundle.js"></script>
  <script src="vendor.bundle.js"></script>
  <script src="main.bundle.js"></script>
<% } else { %>
  <!-- production bundles -->
  <script src="inline.bundle.js?ver=${maven.build.timestamp}"></script>
  <script src="polyfills.bundle.js?ver=${maven.build.timestamp}"></script>
  <script src="main.bundle.js?ver=${maven.build.timestamp}"></script>
<% } %>

Предполагается, что вы создаете свой проект Java с помощью maven, поэтому отключите управление версиями файлов, которое делает сборка ng, и позвольте maven обрабатывать именование версий (чтобы избежать проблем с кешем при выпуске версий). В противном случае вам нужно будет найти способ вставлять сгенерированные Angular имена файлов в ваши JSP для каждой сборки.

ng build --prod --output-hashing none

После того, как корень приложения загружен, его можно переместить с помощью другого javascript, если вы убедитесь, что он не удален из DOM.

...