尝试了下把已有的简单的 next-on-pages 项目迁移到 opennext,根据文档来的大部分步骤都比较顺利,本地 next dev 也可以正常预览,但是部署到 worker 时候的构建就炸了,几十个 npm 包的不兼容😂。
根据官方的 Troubleshooting 意思是 wrangler 对 npm 包的导出有要求。
同步几个情报和经验:
1. opennext 的 Cloudflare Adapter 是 Cloudflare 官方团队维护的。
2. 目前已经支持 middleware,next-intl 在本地测试是 ok 的
3. opennext 是部署到 worker 而不是 pages 上,所以没有 pages 方便的 git 部署能力,默认是本地 wranger deploy,有需要只能走 ci actions
个人建议:
opennext cf 还是比较早期,目前开发很活跃。
新项目可以尝试,有更好的 nodejs 兼容性。
老项目改造可以快速走完官方的改造流程,错误少可以继续。
目前只是想部署到 Cloudflare 还是更推荐 next-on-pages 方案,坑少,基本都有解决方案,但是不建议大型项目(functions 总大小20MB 限制。
以上~