# @aphrody/next-bun 中文文档

规范地址：https://npmcn.com/package/%40aphrody/next-bun/

版本：1\.4\.7
npm 元数据更新时间：2026-10-23T02:18:41.792Z
中文译文更新时间：2026-11-06T12:52:16.164Z
软件包许可：MIT AND Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40aphrody/next-bun
原文对照：https://npmcn.com/package/%40aphrody/next-bun/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：330 kB，56 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：next \>=16\.0\.0，react \>=19\.0\.0，react-dom \>=19\.0\.0，react-server-dom-parcel \>=19\.0\.0
- 首次发布：2026-10-08T22:14:54.890Z
- 最新版本发布：2026-10-23T02:18:41.528Z
- 近 30 天下载量：3183（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 9 个）

## 中文简介

Next.js on Bun:用Node.js(包括Turbopack工人)下跑,用 Bun.build(实验)来建造Pages路由器,下16 / Tailwind 4 代码mods,即时导航测试和Bun.build + Bun.serve上下一个兼容的 App路由器,不包含 Next(

## 安装

```sh
npm install @aphrody/next-bun
```

也可以使用：`pnpm add @aphrody/next-bun`、`yarn add @aphrody/next-bun`、`bun add @aphrody/next-bun`

## README

# @aphrody/ next-bun (英语)

下一个Js在Bun,为下16。 一个包,几个切入点:

| 入境点 | 它会做什么 |
| --- | --- |
| `next-bun dev|build|start …` | 运行应用程序自己的 `next` 作为 `bun --bun next …` 带有 `node` 这是Bun先打开的 `PATH`接下来的产卵会回到节点. |
| `next-bun patch|check [dir]` | 补丁 `next` 16.1.6起(最多16.4.0起和16.5.0起),所以 `next build` 构建 Pages 路由器和 App 路由器 `Bun.build` (实验性,见 `withBun`) (中文(简体) ). |
| `next-bun codemod <ids|group|all> <dir>` | 接下来的16和Tailwind 4编码器(`--list`, (中文(简体) ), `--apply`, (中文(简体) ), `--json`) (中文(简体) ). `next-bun pages-hints <dir>` 列表 Pages 路由器 → App 路由器提示. |
| `@aphrody/next-bun` | `withBun(config, options)`:工作空间根,共享涡轮包/网包别名和去dup,TypeScript-source包已转接, `next start` 被钉住的建筑; Bun.building for `next build` 除非 `bundler: "turbopack"`。 。 。 . |
| `@aphrody/next-bun/run` | `runNext(argv, cwd)`, (中文(简体) ), `nextCommand(args, cwd, shim)`, (中文(简体) ), `bunNodeShim(dir, bun)`, (中文(简体) ), `nextBin(cwd)`, (中文(简体) ), `bunExecutable()`。 。 。 . |
| `next-bun standalone <dir>`, (中文(简体) ), `@aphrody/next-bun/standalone` | `flattenStandalone(dir)`{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}Bun的独家店铺 {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}这家店 `output: "standalone"` 树,没有符号链接了. |
| `@aphrody/next-bun/codemods` | `CODEMODS`, (中文(简体) ), `NEXT16_CODEMODS`, (中文(简体) ), `TAILWIND4_CODEMODS`, (中文(简体) ), `CODEMOD_GROUPS`, (中文(简体) ), `selectCodemods`, (中文(简体) ), `runCodemods`, (中文(简体) ), `tailwindConfigToCss`。 。 。 . |
| `@aphrody/next-bun/codemods/cli` | `runCodemodCli(argv, { program, codemods, groupHelp })`,将编码器CLI与外置编码器相嵌入. |
| `@aphrody/next-bun/testing` | `instant(page, fn, { baseURL })`: Next.js 即时导航测试 Playwright 页面和 CDP 后置页面(`_cdp` 或者说 `_send`) (中文(简体) ). |

代码和测试入站点为TypeScript并运行如在Bun上.

## `withBun`

与 `@aphrody/next` (单位:千美元)[aphrody-labs/next.js (英语)](https://github.com/aphrody-labs/next.js)),"包子"装入 `next build` (单位:千美元)`next/dist/build/bun-build`, (中文(简体) ), `NEXT_BUN=1`Turbopack 开始它的工人的运行时间 装入它。 也没有 `next-bun patch` 也没有 页:1 `node` 在那里需要Shim; 两者都留在Vercel那里 `next`。 。 。 .

```ts
import { withBun } from "@aphrody/next-bun";

export default withBun(nextConfig, {
  bundler: "turbopack", // leave the bundler to Next; the default "bun" builds with Bun.build
  projectDir: __dirname,
  alias: { "next-intl/config": "./src/i18n/request.ts" }, // Turbopack and webpack alike
  dedupe: ["prosemirror-transform"], // one installed copy for every importer
});
```

在每一个阶段 `withBun` 另设 `turbopack.root` 财务报告和审定财务报表 `outputFileTracingRoot` 到工作空间根时 未设置( Bun 的孤立链接器将软件包保存在根中) `node_modules/.bun`),添加每个依赖 船型脚本来源(`exports` 指点 `.ts`编号 :`.tsx`,转接) `transpilePackages` 除非是在 `serverExternalPackages`,并制作 `next start` 重复使用 `assetPrefix` 财务报告和审定财务报表 `deploymentId` (单位:千美元)`<distDir>/required-server-files.json`Turbopack 既会烤入客户端运行时间,也会烤出一个 不同于构建的服务器环境为 HTML 服务,其块永远不会加载。 每次重写 拥有关闭的选项( n)`root: false`, (中文(简体) ), `transpileSources: false`, (中文(简体) ), `freezeBuildConfig: false`) (中文(简体) ).

`reactCompiler`, (中文(简体) ), `typedRoutes` 财务报告和审定财务报表 `cacheComponents` 配置时设置同名的下十六个密钥 让他们不固定. `tauri` 将构建变成一个静态导出 Tauri 网络视图负载( Name`output: "export"`, (中文(简体) ), 未优化的图像,跟踪鞭打, 没有缓存组件, `tauri.env` {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}在化妆品下烤的 `env`,则 dev 服务器作为外部生产的资产前缀; `tauri: "auto"` 只有当 Tauri CLI 运行建设时它才会有 (单位:千美元)`isTauriBuild()`) (中文(简体) ). 密钥组合总是赢得.

### CSS和尾风CSS

Bun. 构建路径捆绑全局样式表( 从 `pages/_app`)和CSS模块,并列出每个模块 页面样式表 `build-manifest.json` 接下来是 `<link rel="stylesheet">`。 。 。 . `plugins` 添加 Bun 选项 两种建筑的插件; `tailwind` 添加 [`@aphrody/bun-plugin-tailwind`](https://npmcn.com/package/%40aphrody/bun-plugin-tailwind) 从 项目(`true` 或选择 `base` 默认为 `projectDir`:

```js
module.exports = withBun(nextConfig, {
  projectDir: __dirname,
  tailwind: { theme: "m3" },
});
```

有了涡轮包或网络包,同一引擎运行于PostCSS插件:

```js
// postcss.config.mjs
export default { plugins: { "@aphrody/bun-plugin-tailwind/postcss": {} } };
```

## `@aphrody/next-bun/app`: 无下一条的 App 路由器

接下来的Js `app/` 常规(页面、版式、模板、加载、出错、未找到、路由处理器、路由组、动态和 囊括所有片段、机器人/物品/动作, `proxy.ts` 中间软件),包含 React 服务器组件,服务器动作,流出 SSR 和静电发电,由三所建造 `Bun.build` 出入证(rsc、客户端、sr) `Bun.serve`。 。 。 . `next/link`, (中文(简体) ), `next/navigation`, (中文(简体) ), `next/headers`, (中文(简体) ), `next/server`, (中文(简体) ), `next/cache` 财务报告和审定财务报表 `next/image` 映射到 `app/`需求 `react`, (中文(简体) ), `react-dom` 财务报告和审定财务报表 `react-server-dom-parcel` 19.

```ts
import {
  buildApp,
  prerenderApp,
  serveApp,
  devApp,
  compileAppRouter,
} from "@aphrody/next-bun/app";

await buildApp({ root: process.cwd(), outDir: "dist", clientPlugins: [] });
await prerenderApp("dist");
await serveApp({ outDir: "dist", port: 3000 });
```

`runAppCommand("dev" | "build" | "start", project, flags)` 包起来进行CLI; `compileAppRouter` 链接到一个 可执行文件 `dockerAppRouter` 写入 Docker 上下文.

## `@aphrody/next-bun/crawl`

纯函数用于一个站点的爬行器创建文件,从路由处理器返回或在构建时写入: `sitemapXml(routes, origin)` (项目0.9、去重复和分类), `robotsTxt({ origin, rules, sitemaps })` (RFC 9309), (中文(简体) ), `llmsTxt({ origin, name, summary, details, sections })` (单位:千美元)[维基百科中的相关条目: 维基语录链接:名人名言](https://llmstxt.org/)和 `jsonLd(data)` 用于内置 `<script type="application/ld+json">`。 。 。 .

```ts
import { sitemapXml } from "@aphrody/next-bun/crawl";

export const GET = () =>
  new Response(sitemapXml(["/", "/docs"], "https://example.com"), {
    headers: { "content-type": "application/xml" },
  });
```

## 这个 `node` 嘘

`bunNodeShim()` 设置一个 `node` (Bun在Windows上的硬链接或副本,其他的同义链接)在临时目录和 `next-bun` 预留给 `PATH`涡轮包装开始其PostCSS和网络包装装货工人通过 `Command::new("node")` (单位:千美元) `process_pool` 后端在每一个 `@next/swc` 二进制,Linux,macOS和Windows). 没有 `node` 打开 `PATH` 和通往 `next`,下一个16.1.6和 16.5.0-canary.4在 Linux (Docker) 和 Windows 上以"喷出节点集合过程"出故障;使用一个真正的节点.js `PATH` 工人会奔跑 就在这. `bun --bun node_modules/next/dist/bin/next` (一个赤裸的相对路径) 工作没有shim 仅仅因为Bun然后运行它作为一个 包件并添加自己的 `bun-node` 嘘. `test/integration/next-app` 通过 `next-bun` 与每个 `node` 从 `PATH`。 。 。 .

## 测试

纯 JS, 用安装的 Bun 运行( 不需要调试构建 ):

```sh
bun test test/integration/next-bun/
bun test test/integration/next-app/test/next-app.test.ts
bun test test/integration/next-bun-pages/test/next-bun-pages.test.ts
bun test test/integration/next-bun-app/test/next-bun-app.test.ts
```

计划和历史: [文件/PLAN.md](https://github.com/aphrody-labs/bun/blob/main/packages/bun-next/docs/PLAN.md)。 。 。 .

## 常见问题

### @aphrody/next-bun 是什么？

Next\.js on Bun:用Node\.js\(包括Turbopack工人\)下跑,用 Bun\.build\(实验\)来建造Pages路由器,下16 / Tailwind 4 代码mods,即时导航测试和Bun\.build \+ Bun\.serve上下一个兼容的 App路由器,不包含 Next\(

### 如何安装 @aphrody/next-bun？

在项目目录运行 npm install @aphrody/next-bun，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 next-bun，可以用 npx next-bun 直接运行。

### @aphrody/next-bun 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @aphrody/next-bun 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @aphrody/next-bun 可以商用吗？

@aphrody/next-bun 使用 MIT AND Apache-2\.0 许可。声明的许可为 MIT AND Apache-2\.0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @aphrody/next-bun 的下载量有多少？

根据 npm 官方下载统计，@aphrody/next-bun 在 2026/10/06 – 2026/11/04 这 30 天内被下载 3,183 次，日均约 106 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @aphrody/next-bun 还在维护吗？

最新版本 1\.4\.7 发布于 2026/10/23（15 天前）；至今共发布 9 个版本，其中过去 12 个月发布了 9 个；首次发布于 2026/10/09。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

