#angular
#angular
Вопрос:
Моя структура папок:
/LandingPage1/
css/
images/
page1.html
page2.html
index.html
/LandingPage2/
css/
images/
page1.html
page2.html
index.html
/LandingPage3/
css/
images/
page1.html
page2.html
index.html
index.html
Для /index.html Я добавил:
<base href="/">
<script>
(function() {
window['_app_base'] = '/' window.location.pathname.split('/')[1];
})();
</script>
<body>
<app-root></app-root>
</body>
Также в angular.json позиция этого index.html было изменено.
И в app.module:
providers: [
{ provide: APP_BASE_HREF, useValue: window['_app_base'] || '/' },
]
Я хотел бы:
когда я открою в браузере localhost:4200/LandingPage1
<- Я получу доступ к этим страницам1, страница2 и т.д.
Byt, когда я изменил на localhost:4200/LandingPage2
-> Я смогу открыть /LandingPage2/page1.html
Ответ №1:
Для достижения этого добавьте весь ваш статический путь в раздел ресурсов в файле angular.json
"assets": [
"src/LandingPage1",
"src/LandingPage2",
"src/LandingPage3",
]
После внесения изменений снова запустите команду ng serve, после чего вы сможете получить доступ к статическим страницам внутри этих папок.
Пожалуйста, перейдите по ссылке для получения полного руководства:нажмите здесь
Комментарии:
1. Спасибо, я добавил ее и получил ошибку:
Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'page1.html'
2. другой простой способ — переместить вашу статическую страницу внутрь папки assets, тогда вы сможете получить доступ ко всем вашим страницам, но в этом случае URL будет localhost:4200/assets/LandingPage2/page1.html
3. Спасибо. Но как мы можем это сделать без /assets / path?
4. Я изменил свой ответ, пожалуйста, следуйте этому, чтобы сделать это без пути к ресурсам