#javascript #node.js #angular #typescript
#JavaScript #node.js #angular #typescript
Вопрос:
Код: http://github.com/dbots-co/website
Прямое подключение к динамическому маршруту (панель мониторинга, страница бота), похоже, не работает. Однако прямое подключение к документам работает.
Это происходит только при использовании Angular 10 Universal SSR.
Не работает: https://dbots.co/bots/774811448576573480
Работает: https://dbots.co/docs/get-started
bot-page.component.ts:
async ngOnInit() {
await this.service.init();
this.user = this.service.getBot(this.id);
this.bot = this.service.getSavedBot(this.id);
if (!this.user || !this.bot)
return this.router.navigate(['']);
this.seo.setTags({
description: this.bot.listing.overview,
titlePrefix: this.user.username,
titleSuffix: 'DBots',
url: `bots/${this.id}`
});
this.analytics.botPageView({ botId: this.user.id });
this.themeService.setNavbarBackground('var(--background-secondary)');
document
.querySelector('.navbar')
.setAttribute('style', `margin-bottom: -5px;`);
}
app-routing.module.ts:
const routes: Routes = [
...
{ path: 'bots/:id', component: BotPageComponent },
...
];
Комментарии:
1. Вы
main
наверняка настроены неправильно: github.com/DBots-co/Website/blob/stable/angular.json#L135 так и должно бытьsrcmain.server.ts
. Это ошибка в схеме, которая еще не исправлена2. Я также столкнулся с тем, что в некоторых случаях вы не можете отправлять веб-запросы во время SSR. В IIS Express это отлично работало для меня, но при развертывании в установке Plesk SSR нарушается, и вам приходится передавать данные в приложение angular через params.data со стороны сервера