我已经实现了ssr,并且没有错误,事情是在添加了角度通用性之后,除非我将/index.html
添加到URL,否则应用程序将无法加载。然后一切正常,所有溃败都正常!含义:
http://localhost:4000/
保留加载并不会成功,但是
http://localhost:4000/index.html
确实。然后重定向到http://localhost:4000/
!但是,如果我在浏览器中手动输入URL或尝试在没有/index.html
的情况下打开主页,则会一直加载下去
答案 0 :(得分:0)
这个问题是经典的
如here
所示,移至角度通用始终记住您不能使用窗口,文档…和其他浏览器对象及其方法(如setTimeout)
所有DOM API
所有其他浏览器特定的API,例如localStorage,IndexedDB ...
问题在于,在大多数情况下,您将不会遇到任何错误或警告!
,最好的解决方案是检查平台,然后在需要的地方使用它们,如下所示
import { Injectable, Inject, PLATFORM_ID } from '@angular/core';
import { isPlatformBrowser } from '@angular/common';
@Injectable()
export class LocalStorage {
constructor(@Inject(PLATFORM_ID) protected platformId: Object) {}
setItem(key: string, value: any) {
if (isPlatformBrowser(this.platformId)) {
localStorage.setItem(key, JSON.stringify(value));
}
}
}
答案 1 :(得分:0)
我在着陆页主要组件的子组件之一中有了SetInterval,删除了setInterval解决了我的问题。