用途
Vercel Deployment 是一个面向 Vercel 平台部署 Next.js 应用的专家知识技能。它帮助开发者理解 Vercel 平台的能力、限制与最佳实践,从而在规模化部署 Next.js 应用时做出正确决策。
主要能力
该技能覆盖以下能力领域:
- vercel
- deployment
- edge-functions
- serverless
- environment-variables
核心原则
- 环境变量:开发、预览、生产环境应使用不同的配置。
- Edge 与 Serverless:根据需求选择合适的运行时。
- 构建优化:尽量减少冷启动并缩小打包体积。
- 预览部署:在生产发布前用于测试。
- 监控:设置分析与错误追踪。
使用方式与要求
该技能要求使用 Next.js App Router(nextjs-app-router)。资料中提供的模式包括:
- 环境变量设置:为所有环境正确配置环境变量。
- Edge 与 Serverless 函数:为 API 路由选择合适的运行时。
- 构建优化:优化构建以获得更快的部署和更小的打包体积。
反模式
资料列出的反模式包括:
- 在 NEXT_PUBLIC_ 中存放密钥。
- 预览环境使用与生产相同的数据库。
- 没有构建缓存。
易错点
资料以表格形式列出若干问题、严重程度与解决方向:
- NEXT_PUBLIC_ 将密钥暴露给浏览器(critical):仅将 NEXT_PUBLIC_ 用于真正公开的值。
- 预览部署使用生产数据库(high):为每个环境设置独立数据库。
- Serverless 函数过大、冷启动慢(high):减小函数体积。
- Edge 运行时缺少 Node.js API(high):使用 Edge 前检查 API 兼容性。
- 函数超时导致操作未完成(medium):正确处理长时间运行的操作。
- 环境变量在运行时缺失但构建时存在(medium):理解环境变量被读取的时机。
- 从不同域名调用 API 路由出现 CORS 错误(medium):为 API 路由添加 CORS 头。
- 部署后页面显示陈旧数据(medium):控制缓存行为。
适用场景
适用于在 Vercel 上部署 Next.js 应用的场景,尤其是需要处理环境变量、选择 Edge 或 Serverless 运行时、优化构建、使用预览部署以及配置监控的场合。
相关技能
可与 nextjs-app-router、supabase-backend 配合使用。
限制
资料未提供具体的安装命令、代码示例、收费或价格信息、平台支持范围以及实际效果数据,这些内容暂未提供。