Я работаю над приложением AEM SPA Angular, которое работает на AEM 6.4.7. Используется типичная реализация, в которой компоненты Angular отображаются на компоненты AEM. Чтобы избежать раскрытия каталога / content в URL-адресе, я прибег к использованию специальных URL-адресов, и это был мой подход:
Изменения, внесенные в AEM : - Конфигурация OSGi для Apache Sling Resource Resolver Factory : добавлено сопоставление URL-адресов: / content / awesome / application / home / - / home
Angular: - Маршрутизатор приложений перенаправляет на / home. html - Все URL-адреса в приложении указывают на что-то вроде: /home/something/something-else.html и /home/another-thing/more-things.html
proxy.aem.conf. json: конфигурация этого файла выглядит следующим образом:
[
{
"context": [
"/**.model.json",
"/content/**/**.jpeg",
"/content/**/**.jpg",
"/content/**/**.png",
"/content/**/**.PNG",
"/content/**/**/**.png",
"/content/**/**/**.PNG",
"/content/**/**/**.jpeg",
"/content/**/**/**.jpg",
"/content/**/**/**.pdf"
],
"target": "http://localhost:4503",
"auth": "username:password",
"logLevel": "debug"
}
]
Я создаю приложение и развертываю его в своей среде AEM, работающей на http://localhost: 4503 / home. html, и все работает, как ожидалось, и все мои другие URL-адреса в / home / * работают, как ожидалось.
Проблема: проблема в том, когда я запускаю приложение на http:localhost: 4200, используя: npm start. - Первая страница http://localhost: 4200 / home. html отображается правильно, и также возвращается модель json этой страницы. - На других страницах есть исключения, такие как http://localhost: 4200 / home / something / something-else. html выдает следующую ошибку на консоли:
"ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'lastIndexOf' of undefined
TypeError: Cannot read property 'lastIndexOf' of undefined
at Function.value (cq-spa-page-model-manager.js:1)
at e.value (cq-spa-page-model-manager.js:1)
at e.value (cq-spa-page-model-manager.js:1)
at cq-spa-page-model-manager.js:1
at ZoneDelegate.invoke (zone-evergreen.js:359)
at Object.onInvoke (core.js:39699)
at ZoneDelegate.invoke (zone-evergreen.js:358)
at Zone.run (zone-evergreen.js:124)
at zone-evergreen.js:855
at ZoneDelegate.invokeTask (zone-evergreen.js:391)
at resolvePromise (zone-evergreen.js:797)
at resolvePromise (zone-evergreen.js:754)
at zone-evergreen.js:858
at ZoneDelegate.invokeTask (zone-evergreen.js:391)
at Object.onInvokeTask (core.js:39680)
at ZoneDelegate.invokeTask (zone-evergreen.js:390)
at Zone.runTask (zone-evergreen.js:168)
at drainMicroTaskQueue (zone-evergreen.js:559)"
Модель. json этих страниц также успешно возвращены.