首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用AngularIO理解SSR

用AngularIO理解SSR
EN

Stack Overflow用户
提问于 2020-06-03 23:00:30
回答 1查看 58关注 0票数 0

我正在尝试理解基础的SSR和AngularIO (最新版本)。我知道有CSRSSR,它们的名字应该是不言自明的。

CSR执行客户端中的所有逻辑,例如,<app-route>按预期为空。

然而,SSR的行为并不像预期的那样。

我为我的项目“打开”了SSR,我看到<app-route>现在被填充了相应的HTML。但是我也可以看到,我在组件的构造函数中发出的HTTP请求仍然在客户机中执行。如果服务器已经这么做了,为什么有必要这样做呢?

代码语言:javascript
复制
ngOnInit(): void {
    this.files = new Array;
    this.http.get<any[]>("https://www.example.com/bar.json")
    .subscribe(data => this.files = Object.keys(data));
}

在浏览器调试器的网络部分,我可以看到bar.json仍然被加载。为什么会这样呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-01 10:21:55

从angulario SSR来看,如果由于某种原因,您没有使用@nguniversal/*引擎包,您可能需要自己处理它。

建议的解决方案是将完整的请求URL传递给renderModule()或renderModuleFactory()的options参数(取决于您在服务器上呈现AppServerModule的内容)。这个选项是干扰最小的,因为它不需要对应用程序进行任何更改。在这里,“请求URL”将请求的URL作为应用程序在服务器上呈现的响应。例如,如果客户端请求https://my-server.com/dashboard,而您正在服务器上呈现应用程序以响应该请求,则options.url应设置为https://my-server.com/dashboard

角SSR

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62184127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档