Я разрабатываю приложение Angular, которое мне нужно развернуть по пути
https://examplePath/AppSection/myApp
Существует сервер, который перенаправляет http://examplePath/AppSection на http://localhost:8080.
Итак, я подумал о том, чтобы установить в моем Angular.json свойство base href следующим образом:
"serve": {
[..]
"options": {
"host": "0.0.0.0",
"port": 8080,
"browserTarget": "myApp:build",
"baseHref": "/myApp/"
},
[...]
При этом приложение было доступно, но все вызовы runtime.js, polyfill.js, main.js и т. Д. Не работают, поскольку браузер пытался найти этот файл в
http://examplePath/myApp
Затем я прочитал о свойстве deployUrl, поэтому я установил angular.json так:
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
"options": {"deployUrl": "https://examplePath/AppSection/",
[...]
"serve": {
[..]
"options": {
"host": "0.0.0.0",
"port": 8080,
"browserTarget": "myApp:build",
"baseHref": "/myApp/"
},
[...]
Эта конфигурация работает, но с несколькими проблемами, и браузер обычно удаляет AppSection / из URL (я не знаю почему).
Затем я отредактировал свое свойство baseHref, добавив AppSection /, и в результате получилось:
"deployUrl": "https://examplePath/AppSection/"
"baseHref": "/ AppSection / myApp /"
Эта конфигурация работает, но у браузера есть некоторые проблемы с sockjs-node:
Ошибка подключения WebSocket к «wss: // examplePath / sockjs-node / 570 / wwadpefk / websocket»: ошибка во время рукопожатия WebSocket: неожиданный код ответа: 404 GET
https://examplePath/sockjs-node/570/00lb5fwe/eventsource 404 (не найдено) VM3475 sockjs.bundle.js: 1
GET https://examplePath/sockjs-node/570/kqry21k3/htmlfile?c=_jp.a5d54nx 404 (не найдено)
Отказал в отображении 'https://examplePath/sockjs-node/570/kqry21k3/htmlfile?c=_jp.a5d54nx' в кадре, поскольку предок нарушает следующую директиву Политики безопасности содержимого: "frame-ancestors' none '".
Честно говоря, я не понял, что мне следует делать для развертывания по определенному пути.