vinext.

API 覆盖

94% 的 Next.js 16 API

约 94% 的 Next.js 16 API 表面已获得完整或局部支持。剩余的缺口是有意为之的桩 (针对已废弃特性),再加上 Partial Prerendering 与 Cache Components。 Next.js 16 把 PPR 重做成了 "use cache"; vinext 为该指令实现了文件级与函数级缓存,但完整的 cacheComponents行为仍不完整——见正在解决的已知缺口。

完整实现

运行时行为与构建期优化均到位

局部实现

运行时行为正确,部分构建期优化缺失

有意桩/空操作

针对已废弃特性的有意识排除

共 59 项

模块垫片

特性 / 模块状态说明
next/link完整实现全部 props,包括 prefetch(IntersectionObserver)、onNavigate、滚动恢复、basePath、locale
next/image局部实现远程图片通过 @unpic/react(28 个 CDN),本地图片通过 <img> + srcSet,无构建期优化/缩放
next/head完整实现SSR 收集 + 客户端 DOM 操作
next/router完整实现useRouter、Router 单例、事件、客户端导航、SSR 上下文、i18n
next/navigation完整实现usePathname、useSearchParams、useParams、useRouter、redirect、notFound、forbidden、unauthorized
next/server完整实现NextRequest、NextResponse、NextURL、cookies、userAgent、after、connection、URLPattern
next/headers完整实现异步的 headers()、cookies()、draftMode()
next/dynamic完整实现ssr: true、ssr: false、loading 组件
next/script完整实现全部 4 种策略(beforeInteractive、afterInteractive、lazyOnload、worker)
next/font/google局部实现运行时 CDN 加载,无自托管、字体子集化或兜底度量
next/font/local局部实现运行时 @font-face 注入,不在构建时提取
next/og完整实现通过 @vercel/og(Satori + resvg)生成 OG 图片
next/cache完整实现revalidateTag、revalidatePath、unstable_cache、可插拔的 CacheHandler、带 cacheLife() 与 cacheTag() 的 "use cache"
next/form完整实现GET 表单拦截 + POST Server Action 委托
next/legacy/image完整实现把旧版 props 翻译成现代 Image
next/error完整实现默认错误页组件
next/config完整实现getConfig / setConfig
next/document完整实现Html、Head、Main、NextScript
next/constants完整实现全部阶段常量
next/amp有意桩/空操作空操作(AMP 已废弃)
next/web-vitals有意桩/空操作空操作(直接使用 web-vitals 库)

路由

特性 / 模块状态说明
文件系统路由(pages/)完整实现自动扫描,文件变更时热重载
文件系统路由(app/)完整实现页面、路由、布局、模板、loading、error、not-found、forbidden、unauthorized
动态路由 [param]完整实现两种路由器
全捕获 [...slug]完整实现两种路由器
可选全捕获 [[...slug]]完整实现两种路由器
路由分组 (group)完整实现对 URL 透明,布局仍生效
平行路由 @slot完整实现发现、布局 props、default.tsx、继承的插槽
拦截路由完整实现(.)、(..)、(..)(..)、(...) 约定
路由处理器(route.ts)完整实现具名 HTTP 方法、自动 OPTIONS/HEAD、cookie 附加
中间件完整实现middleware.ts 与 proxy.ts(Next.js 16),匹配模式:字符串、数组、正则、:param、:path*、:path+
i18n 路由局部实现Pages Router 的 locale 前缀、Accept-Language 探测、NEXT_LOCALE cookie,无基于域名的路由
basePath完整实现应用于各处——URL、Link、Router、导航 hooks
trailingSlash完整实现308 重定向到规范形式

服务端特性

特性 / 模块状态说明
SSR(Pages Router)完整实现流式渲染、_app/_document、__NEXT_DATA__、水合
SSR(App Router)完整实现RSC 流水线、嵌套布局、流式渲染、面向客户端组件的导航上下文
getStaticProps完整实现props、redirect、notFound、revalidate
getStaticPaths完整实现fallback: false、true、"blocking"
getServerSideProps完整实现完整上下文(含 locale)
ISR完整实现stale-while-revalidate、可插拔的 CacheHandler、后台再生
Server Actions("use server")完整实现Action 执行、FormData、变更后重渲染、Action 内的 redirect()
React Server Components完整实现通过 @vitejs/plugin-rsc 实现,"use client" 边界正确生效
流式 SSR完整实现两种路由器
Metadata API完整实现metadata、generateMetadata、viewport、generateViewport、标题模板
generateStaticParams完整实现配合 dynamicParams 强制校验
Metadata 文件路由完整实现sitemap.xml、robots.txt、manifest、favicon、OG 图片(静态 + 动态)
静态导出(output: 'export')完整实现为所有路由生成静态 HTML/JSON
Standalone 输出完整实现生成带 server.js、构建产物与运行时依赖的 dist/standalone
connection()完整实现强制动态渲染
"use cache" 指令完整实现文件级与函数级,cacheLife() 配置文件、cacheTag()、stale-while-revalidate
instrumentation.ts完整实现register()、onRequestError(),以及 framework tracing
路由段配置局部实现revalidate、dynamic、dynamicParams、runtime(非位置相关),无 preferredRegion

配置

特性 / 模块状态说明
next.config.js / .ts / .mjs完整实现函数式配置、phase 参数
rewrites / redirects / headers完整实现所有 phase、参数插值
环境变量(.env*、NEXT_PUBLIC_*)完整实现自动加载 Next.js 风格的 dotenv 文件,仅 public 变量会被内联
images 配置局部实现会被解析,但不用于优化
experimental.optimizePackageImports完整实现RSC/SSR 环境中把 barrel 导入改写为直接子模块导入,默认集合含 lucide-react、date-fns、radix-ui、antd、MUI 等
vinext({ nextConfig })完整实现从 vite.config.* 内联 Next 风格配置,支持对象与函数形式,提供时覆盖根 next.config.*
vinext({ react: { compiler: true } })完整实现React Compiler 自动记忆化,需要 @vitejs/plugin-react 6.1+ 与可选的 oxc-transform-react

每一个 next/*导入都被垫片为一个 Vite 兼容的实现。需要 Next.js 内部实现(例如styled-jsx)的兼容特性, 在使用时可能仍需要匹配版本的 Next.js 安装。 vinext 为受支持的 next 与next/* API 提供了兜底的类型声明,因此应用可以在没有 next 包的情况下运行并做类型检查。