是因为Angular的服务器端渲染(Server-Side Rendering,SSR)机制导致的。
在Angular中,通用页面是指可以在服务器端和客户端都运行的页面。SSR是一种将服务器端生成的HTML内容发送给客户端的技术,可以提高页面的加载速度和搜索引擎的可索引性。
当使用Angular的SSR功能时,页面的加载过程如下:
- 客户端请求页面。
- 服务器端接收到请求,开始渲染页面。
- 服务器端生成页面的HTML内容,并发送给客户端。
- 客户端接收到HTML内容,开始渲染页面。
- 客户端渲染完成后,Angular框架会重新初始化页面,导致页面再次加载。
这就是为什么Angular通用页面在SSR上加载两次的原因。
优势:
- 提高页面加载速度:通过在服务器端生成HTML内容,减少客户端的渲染时间,加快页面加载速度。
- 改善搜索引擎的可索引性:搜索引擎可以直接获取服务器端生成的HTML内容,提高页面的可索引性。
应用场景:
- 对于需要快速加载和SEO友好的网站,可以使用Angular的SSR功能。
- 对于需要在服务器端进行数据预加载或数据处理的页面,可以使用Angular的SSR功能。
推荐的腾讯云相关产品和产品介绍链接地址:
- 腾讯云云服务器(CVM):提供可靠、安全、高性能的云服务器实例,支持自定义配置和弹性扩展。产品介绍链接
- 腾讯云云函数(SCF):无服务器计算服务,支持按需运行代码,无需管理服务器。产品介绍链接
- 腾讯云CDN:全球分布式加速服务,提供高速、稳定的内容分发网络。产品介绍链接
请注意,以上推荐的腾讯云产品仅供参考,具体选择应根据实际需求进行评估和决策。