优酷前端团队在未来为什么要拥抱 Serverless SSR?
从 beidou、next.js、egg-react-ssr 到 Umi SSR,可以看出服务端渲染是很重要的端侧渲染组成部分。无论如何,React SSR 都是依赖 Node.js Web 应用的。那么,在 Serverless 时代,基于函数即服务(Functions as a Service,简写为 FaaS)做 API 开发相关是非常简单的
未来:Serverless SSR 从 beidou、next.js、egg-react-ssr 到 Umi SSR,可以看出服务端渲染是很重要的端侧渲染组 成部分。无论如何,React SSR 都是依赖 Node.js Web 应用的。那么,在 Serverless 时代,基于 函数即服务(Functions as a Service,简写为 FaaS)做 API 开发相关是非常简单的:1)无服务, 不需要管运维工作;2)代码只关系函数粒度,面向 API 变成,降低构建复杂度;3)可扩展。 在 FaaS 下,如何做好渲染层呢?直出 html,做 CSR 很明显是太简单了,其实我们可以做 的更多,Serverless 时代的渲染层具有如下特点: 采用 next.js/egg-react-ssr 写法,实现客户端渲染和服务端渲染统一; 采用 Umi SSR 构建,生成独立 umi.server.js 做法,做到渲染; 采用 Umi 做法,内置 webpack 和 React,简化开发,只有在构建时区分客户端渲染和服 务端渲染,做好和 CDN 配合,做好优雅降级,保证稳定性; 结合 FaaS API,做好渲染集成。 通过提供 ctx.ssrRender 方法,读取 dist 目录下的 Page.server.js 完成服务端渲染。 核心要点: ssrRender 方法比较容易实现; 采用类似 Umi SSR 的方式,将源码打包到 Page.server.js 文件中; 在发布的时候,将配置,app.server 函数和 Page.server.js 等文件上传到 Serverless 运行环 境即可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。