remix 软件包的形式一起分发。Remix 3 在处于 beta 阶段期间以 npm 上的 next 标签发布。其服务器无需修改即可在 Bun 上运行。
本指南介绍 Remix 3。若要创建 Remix 2 项目,请改用
create-remix。使用 Remix CLI 搭建一个新项目。
terminal
terminal
生成的
server.ts 会创建一个 node:http 服务器,将每个请求交给应用的路由器处理。Bun 会直接运行它;传入 --watch 后,每当它导入的文件发生更改时,服务器都会重启。
terminal
app/routes.ts 和 app/router.ts 中。app/actions/home-page.tsx 会渲染起始主页。
package.json 中生成的 scripts 会使用 Node.js 和 remix/node-tsx TypeScript 加载器运行服务器。Bun 会自行运行 TypeScript,因此请改为让脚本指向 bun。
package.json
terminal
生成的
hmr 脚本(hmr.ts)也会加载 remix/node-tsx,而它依赖 module.registerHooks()。Bun 尚未实现此 API,因此该脚本无法在 Bun 下运行。请参阅 Node.js 兼容性。bun --watch 会在发生更改时重启服务器。路由器是一个
fetch 处理程序,因此你也可以使用 Bun.serve() 而不是 node:http 来提供应用服务。
server.ts
请参阅 Remix 文档以了解更多信息。