为什么应用程序渲染在服务器端,而组件却在客户端?

问题描述 投票:0回答:1

My folder structure 我不明白为什么渲染在服务器端,但组件放置在客户端,因为构建后我看到组件位于浏览器文件夹中。我在这里犯错了吗?

我尝试关闭javascript来检查组件是否在服务器端渲染,结果是关闭js后,网站仍然显示,这意味着网站仍然在服务器端渲染。

angular angular17-ssr
1个回答
0
投票

答案是,当你创建一个项目并在 Angular 17 中选择 SSR 选项时(因为我在 Angular 17 上使用和测试),默认情况下该项目将打开预渲染模式(SSG),并且组件将在构建和构建时渲染放置在右侧。客户端(浏览器文件夹)。我尝试创建几个不同的组件,并将 Platform check 功能放在 ngOninit + Disable JS 中进行测试,但发现这些组件没有在 Server 端渲染。渲染服务器端组件的解决方案是通过转到 angular.json 文件来关闭预渲染,在路径“projects”.“project_name”.“architect”.“build”.“options”中找到关键“prerender” ”并设置为 false。所以所有组件都会在服务器端渲染。

要查找答案,只需搜索“prerender”或“SSG”即可。网上关于 Angular SSR 的文档很少,需要耐心搜索才能得到答案:heart: (by Google Translate)

© www.soinside.com 2019 - 2024. All rights reserved.