用途:把 Next.js 项目迁移到 vinext。vinext 在 Vite 上重实现 Next.js API,现有 app/、pages/ 与 next.config.js 可原样使用,迁移主要是换包、生成配置和转 ESM。先确认 package.json 含 next,否则不适用;按锁文件判断包管理器,并识别 App Router(app/ 存在)或 Pages Router(仅 pages/)。
主要能力:vinext check 扫描兼容性并输出评分报告;vinext init 自动迁移:装依赖、加 "type": "module"、重命名 CJS 配置、写入 dev:vinext 与 build:vinext 脚本、生成最小 vite.config.ts,且不影响原 Next.js 设置。其他命令:vinext dev、build、start、lint、deploy。
使用方式:推荐先跑 vinext check,再跑 vinext init,成功后用 vinext dev 验证。手动迁移:卸载 next,安装 vinext 与 vite(App Router 另装 @vitejs/plugin-rsc),把 next dev/build/start/lint 改为对应 vinext 命令并保留参数;为 package.json 加 "type": "module",将 postcss.config.js、tailwind.config.js 等改为 .cjs;生成 vinext() 插件的 vite.config.ts。部署可选:Cloudflare Workers 用 vinext deploy 自动生成 wrangler.jsonc 与入口;可通过 import { env } from "cloudflare:workers" 访问 D1、R2、KV 等绑定。其他平台用 Nitro 插件,按 NITRO_PRESET=vercel、netlify、deno_deploy、node 构建。
限制:next/image 远程图用 @unpic、无构建期优化;next/font/google 走 CDN 不自托管;不支持基于域名的 i18n;不支持 next/jest,改用 Vitest;忽略 Turbopack/webpack 配置;忽略 runtime、preferredRegion 路由段配置;PPR 改用 "use cache"。不要改应用代码或重写 next/* 导入,不要把 webpack 配置搬进 Vite,不要跳过兼容性检查,不要删除 next.config.js(除非换成 .ts/.mjs)。收费、价格、平台支持范围等未提供。