SSR in Serverless
代码仓库: ykfe/ssr
本框架是已超过1.5k star ✨被诸多大型公司在线上应用深度使用的 egg-react-ssr的进一步演进。与 Serverless 高度契合,将 Serverless 场景下开发到发布一个 SSR 应用的难度降低到最低,使得开发者得到最好的开发体验以及发布体验。
Serverless 给开发者带来了什么
数据管理
在最新的一个 PR中,我们使用了 useContext + useReducer 来实现了极简的数据管理方案,摒弃传统的 Redux, dva 等方案,让开发者无需纠结到底选哪一套数据管理。至此我们的里程碑第一阶段的全部需求都已完成。
多平台发布
本框架已接入阿里云 ,腾讯云 发布策略。只需一个命令即可发布应用,无需修改任何配置文件
快速开始
通过以下命令快速创建一个 ssr 应用并发布
$ npm init ssr-app my-ssr-project
$ cd my-ssr-project
$ npm install
$ npm start # 本地开发
$ npm run deploy # 发布应用
类型友好
底层代码皆使用 TS 且完善类型支持,实现真正的类型友好
最佳实践
我们在多个大型应用中总结出一套最佳的技术方案选型策略,在底层已默认支持,无需开发者做任何配置修改即可使用。
- 前端框架: React v17, 实时跟进 React17的新特性
- 开发语言: TypeScript
- 代码风格: Standard
- 样式处理: less + css modules
- UI 组件: 默认已对 antd 的使用做打包配置无需额外配置
- 前端路由: 约定式路由
- 数据管理: 使用 React Hooks 提供的 useContext + useReducer 实现极简的数据管理方案, 摒弃传统的 redux/dva 等数据管理方案
本地调试
借助 debug 模块的能力,开发者可以在本地开发过程中获取一些构建渲染过程的信息。
$ DEBUG=ssr:* npm start # 打印所有的 ssr 模块提供的 debug 信息
$ DEBUG=ssr:parse npm start # 打印约定式路由解析 debug 信息
$ DEBUG=ssr:render npm start # 打印页面渲染 debug 信息
交流群
虽然我们已经尽力检查了一遍应用,但仍有可能有疏漏的地方,如果你在使用过程中发现任何问题或者建议,欢迎提issue或者PR欢迎直接扫码加入钉钉群。