为了在 Bun 中运行 h3 应用,请使用 Web 适配器。
或者,您可以使用 Node.js 适配器,因为 Bun 与 Node.js API 完全兼容!
使用
创建应用入口:
app.mjs
js
import { createApp, defineEventHandler } from 'h3'
export const app = createApp()
app.use(defineEventHandler(() => 'Hello world!'))
创建 Bun 服务器条目:
server.mjs
js
import { toWebHandler } from 'h3'
import { app } from './app.mjs'
const server = Bun.serve({
port: 3000,
fetch: toWebHandler(app),
})
现在,您可以运行 Bun 服务器:
bash
bun --bun ./server.mjs
WebSocket 支持
ts
import wsAdapter from 'crossws/adapters/bun'
const { websocket, handleUpgrade } = wsAdapter(app.websocket)
const handler = toWebHandler(app)
const server = Bun.serve({
port: 3000,
websocket,
fetch(req, server) {
if (await handleUpgrade(req, server)) {
return
}
return handler(req)
},
})