Развертывание приложения Angular в Wildfly
Я сделал приложение AngularJs, которое просто использует мой сервер REST api (встроенный в java и развернутый на Wildfly).
Я сделал мои серверы доступными из интернета, используя мой общедоступный IP-адрес (через переадресацию портов).
мой вопрос в том, как я могу сделать Угловое приложение доступным также из интернета, используя мой публичный IP. Могу ли я также развернуть его на Wildfly? Как мне это сделать?
3 ответов
вы можете упаковать свое угловое приложение в том же приложении, что и ваш REST backend API.
например, если вы упаковываете свой REST api в a .war package, вы можете поместить свои файлы приложений anglar (html-страницы, js-скрипты,...) в корневом каталоге пакета WAR и ресурсах REST в каталогах WEB-INF/lib, упакованных в файлы JAR.
см. детали упаковки войны здесь.
затем, чтобы запросить ваш REST api, вам просто нужно предоставить URI ресурса, а не базовый URL (включая контекст webapp), поскольку angular app принадлежит webapp, который также предоставляет ваш REST api.
например, если вы хотите получить один из своих ресурсов, вы можете сделать это с помощью angular: (с помощью REST API, используя путь " rs " в конфигурации приложения и используя $http angular service)
$http.get('rs/icecreams?flavoor=strawberry')
Если вы не хотите развертывать WAR/EAR, попробуйте определить обработчик в вашем автономном режиме.файл конфигурации XML:
<server name="default-server">
<http-listener name="default" socket-binding="http"/>
<host name="default-host" alias="localhost">
<location name="/" handler="welcome-content"/>
<location name="/yourapp" handler="static"/>
</host>
</server>
<handlers>
<file name="welcome-content" path="${jboss.home.dir}/welcome-content" directory-listing="true"/>
<file name="static" path="/var/yourapp" directory-listing="true"/>
</handlers>
у меня есть приложение angular2 с маршрутами, и была необходима дополнительная конфигурация. Это процесс:
-
в корневом модуле включить использование хэша для маршрутов:
RouterModule.forRoot(routes, { useHash: true })
создайте приложение, простой способ -
ng build
другие функции в угловой-cli buildпроцесс сборки генерирует угловое приложение в папке "dist" в корне углового приложения. Скопируйте все файлы в папку dist в корень вашего военного файла.
доступ к угловому приложению в http://SERVER_IP:PORT/WAR_PATH/#/. Все маршруты для angular app начинаются с#/.