Разверните приложение Angular2 с помощью baseurl

Я новичок в разработке приложений Wep на Angular2.

Я создал одно приложение Angular2 с использованием angular-cli, теперь я хочу развернуть это приложение на своем сервере tomcat.

Я дал ng build, и он создал папку dist для развертывания. Я скопировал все файлы в папку dist и создал одну папку внутри папки веб-приложений Tomcat, например somename, и вставил все файлы в эту папку somename. И я изменил базовый href index.html на / somename.

<base href="/somename">

если я запускаю приложение с сервера, например localhost: 9000 / somename. он дает ошибку в консоли, как файл, а не ошибку.

Как я могу решить проблему.

пожалуйста, помогите мне, заранее спасибо.


person selvam    schedule 15.03.2017    source источник
comment
Добавьте к своему вопросу точное сообщение об ошибке. Какой сервер вы используете? Работает ли на сервере по корневому пути? Вы пробовали использовать HashLocationStrategy? (imports: [RouterModule.forRoot(myRoutes, {useHash: true})])?   -  person Günter Zöchbauer    schedule 15.03.2017
comment
проверьте эту ссылку stackoverflow.com/questions/39018765/   -  person bipin patel    schedule 17.03.2017


Ответы (2)


Попробуйте установить base href как одно из следующих:

<base href="./">: Обычно это хорошо работает для начальных пакетов или для начинающих проектов, которые не имеют / не используют маршрутизаторы Angular. Он в основном устанавливает base в качестве того каталога, из которого он обслуживается.

<base href="/somename/> (обратите внимание на окончание /): у меня это хорошо сработало в IIS 8.5 - подробнее подробности здесь.

Также, в связи с этим, небольшой совет - использовать команду ng build --base-href your-new-base-href вместо ручного редактирования index.html каждый раз, когда вы создаете приложение.

person Krishnan    schedule 17.03.2017
comment
Просто черт возьми ... вы можете продолжить эксперименты с различными значениями базы href, например /,, somename, somename /, ./, ./somename. Это даст вам хорошее практическое представление о том, как работает <base>. Краткая информация о базовом теге: w3schools.com/tags/tag_base.asp - person Krishnan; 17.03.2017

Попробуйте создать приложение вроде

ng build --base-href / myApp /

or

<base href="/myApp/">

Содержимое вашей папки dist должно быть скопировано в папку «myApp». Запустите приложение с сервера tomcat, например localhost: 8080 / myApp /

person Madhavi    schedule 17.03.2017