Serverless场景下最好用SSR框架发布1.0版本

709 阅读1分钟

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欢迎直接扫码加入钉钉群。