# 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。

```sh
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 改编的领域。范围取决于配置和执行的路径。该矩阵标识应用程序检查，而不是为每个功能系列分配通用兼容性。

您的申请中必须观察 PRNext 0.1.18-alpha. 检查是否成功。

| 区域 | 有用的验证 |
| --- | --- |
| 应用程序和页面路由器 | 具体路线、参数、错误和导航 |
| RSC 和服务器操作 | 渲染、表单、会话和故障处理 |
| 配置和插件 | 接受的密钥和实际的构建行为 |
| 图像和字体 | 加载、生成和浏览器输出 |
| 缓存和重新验证 | 新鲜度、用户隔离和多进程 |
| 高级路由 | 您使用的并行和拦截分支 |
| 下一个/距离导入 | 显式私有适配器或隔离依赖项 |

## 申请移民前请阅读计划

通过试运行，您可以查看建议的脚本和依赖项更改。审计还应该识别配置和源冲突。保留一个 next.config.* 或 prnext.config.* 文件；重命名它不会支持未知的 Next.js 选项。

当计划合适时，应用迁移、检查配置和构建。类型检查需要应用程序中的 TypeScript 和 tsconfig。迁移保留来源和 Next.js；公共 next/* 导入可以保留。避免使用 --force 进行全面导入替换或隐藏对等冲突。

```sh
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 响应的样本。它不验证请求或遵循重定向。它的时间安排不是一个受控基准。良好的结果仍然需要浏览器检查样式、水合作用、突变和身份验证状态。

```sh
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 不会撤消它们。

[根据您的应用程序要求选择 PRNext](/zh/blog/is-prnext-right-for-your-app)

[功能验证后测量 SSR](/zh/blog/benchmark-react-ssr)

## Sources

[PRNext 0.1.18-alpha on npm](https://www.npmjs.com/package/@thomas.f/prnext/v/0.1.18-alpha)

[PRNext 0.1.18-alpha: compatibility and migration](https://github.com/Lorkydey/PRNext/blob/05a9ccd/packages/prnext/docs/ai/compatibility.md)

[PRNext 0.1.18-alpha: build and deployment](https://github.com/Lorkydey/PRNext/blob/05a9ccd/packages/prnext/docs/ai/deployment.md)

[PRNext 0.1.18-alpha: quickstart](https://github.com/Lorkydey/PRNext/blob/05a9ccd/packages/prnext/docs/ai/quickstart.md)

已发表: 2026-10-30

修改的: 2026-10-30

作者: PRNext

---

语言: zh-Hans

Canonical: https://prnext.dev/zh/blog/prnext-nextjs-compatibility-migration

Index: https://prnext.dev/llms.txt
