PRNext 适合您的 Next.js 应用吗?
根据您的应用程序评估 PRNext:Next.js 兼容性、服务器要求、测量的性能、操作和试用范围。
想要在 Next.js 应用程序中尝试 PRNext 而不会在部署过程中发现不兼容性吗?从独立的副本、已识别的版本和涵盖实际使用情况的验证路径开始。
本指南记录了 PRNext 0.1.18-alpha,10 月在 npm 上提供 30, 2026. Next.js 兼容性仍然部分。仅经过认可的导入或成功构建并不能建立应用程序兼容性。
此版本声明节点 ^22.23.4 || ^24.22.1 || >=26.12.1. 其 React、React DOM 和 React-server-dom-webpack 对等体是 19.3.1. 保持可选的本机依赖项启用:本机组件必须与框架版本匹配。
以下命令使用 npm。如果项目已使用 pnpm 或 Yarn,请保留它们并阅读包中附带的文档。处理分支或隔离副本,保留原始锁定文件。已发布的本机包不需要消费者安装 Rust。
node --version
npm install --save-exact @thomas.f/prnext@0.1.18-alpha react@19.3.1 react-dom@19.3.1 react-server-dom-webpack@19.3.1
npx --no-install prnext migrate --dry-run
npx --no-install prnext migrate --check --json路由约定、服务器组件、操作、导航和样式均属于 PRNext 改编的领域。范围取决于配置和执行的路径。该矩阵标识应用程序检查,而不是为每个功能系列分配通用兼容性。
在小屏幕上,水平滚动表格。
| 区域 | 有用的验证 |
|---|---|
| 应用程序和页面路由器 | 具体路线、参数、错误和导航 |
| RSC 和服务器操作 | 渲染、表单、会话和故障处理 |
| 配置和插件 | 接受的密钥和实际的构建行为 |
| 图像和字体 | 加载、生成和浏览器输出 |
| 缓存和重新验证 | 新鲜度、用户隔离和多进程 |
| 高级路由 | 您使用的并行和拦截分支 |
| 下一个/距离导入 | 显式私有适配器或隔离依赖项 |
通过试运行,您可以查看建议的脚本和依赖项更改。审计还应该识别配置和源冲突。保留一个 next.config.* 或 prnext.config.* 文件;重命名它不会支持未知的 Next.js 选项。
当计划合适时,应用迁移、检查配置和构建。类型检查需要应用程序中的 TypeScript 和 tsconfig。迁移保留来源和 Next.js;公共 next/* 导入可以保留。避免使用 --force 进行全面导入替换或隐藏对等冲突。
npx --no-install prnext migrate
npx --no-install prnext check --json
npx --no-install prnext typecheck
npx --no-install prnext build在可用端口上启动 Next.js 参考,在另一个端口上启动候选端口。 paths.json 包含具体路由的 JSON 数组,例如 ["/"、"/products/demo"、"/api/health"],替换为应用程序的路径。不要让cookies和秘密进入其中。
比较器检查公共 GET 响应的样本。它不验证请求或遵循重定向。它的时间安排不是一个受控基准。良好的结果仍然需要浏览器检查样式、水合作用、突变和身份验证状态。
npx --no-install prnext migrate --check --against http://127.0.0.1:3000 --candidate http://127.0.0.1:3001 --routes paths.json执行登录、注销和业务操作。检查导航、错误、加载状态和 cookie。对于表单,验证存储的结果和响应后显示的状态。 HTTP 状态并不描述整个交互。
添加两个会话的隔离检查:私有响应和缓存数据不得在它们之间交叉。如果您使用私有 Next.js 导入、自定义加载程序或高级路由,请保留测试路径的最小示例。这些依赖关系可能会改变评估。
保留确切的版本、锁定文件、测试用例和任何不兼容性。如果缺少某个功能,请识别 API 和所涉及的场景。精确的限制比总体兼容性百分比更有用。
然后在匹配的资源限制下测量昂贵的路线。保留参考资料,直到候选人符合您的标准。数据库迁移需要有自己的回滚计划;恢复 package.json 不会撤消它们。