server side rendering(nextjs)
- 性能
- SEO(tdk)q&a 面包屑,sitemap
-
路由定义 https://nextjs.org/docs/app/getting-started/layouts-and-pages
-
数据预取 lru-cache:url+ body hash + query,axios 的拦截器 swr App router fetch Pages router getServerSideProps
7 年前 CSR(CRA) 迁移 SSR
-
性能: nextjs12+ 100ms+ 大型项目冷启动时间:4S+
-
稳定性:nextjs 不支持服务降级,nodejs 挂掉 降级到 CSR nginx,lambda@edge
-
安全 https://nvd.nist.gov/vuln/detail/CVE-2025-29927 https://nvd.nist.gov/vuln/detail/CVE-2024-34351 https://nvd.nist.gov/vuln/detail/CVE-2024-34350
-
扩展性 nextjs 每次都是 breaking change,用新功能 用不了,SRI middleware 上下文不全
不支持 分布式渲染
- 可控性
- nextjs 13 后逐渐闭源,新版本删除了很多我们在用的
- 安全问题 只在 vercel 修复
- 高级功能只能在 vercel 使用
- nextjs14 非常臃肿,server action、react server components
-
成本: 学习成本:只关心 2 点(培训) 迁移成本:人
-
自己 是否能 cover 住:
- 技术水平
- 推进落地能力
- feature 支持
- 更新迭代,react 19
- 应用的构建 webpack:nodejs、browser
- http 服务:(Koa)
- 应用启动: 本地 dev: nodemon prod: serverless:aws lambda、cloudflare worker
- 渲染:
- 路由 koa-router、react-router-dom 路由懒加载:@loadable/components
- jsx react 渲染:renderToPipeableStream、renderToReadableStream
- 水合 hydration:hydrateRoot
- TDK(head):react-helmet-asyc
- 数据预取:react-query
- middleware
aws : lambda + Function URL cloudflare worker
作业:
- 自定义 SSR 升级到 react19.2
- react compolier 用上
- Profiler: https://react.dev/reference/dev-tools/react-performance-tracks
- https://react.dev/reference/react/ViewTransition