你可以使用 Web 适配器 将 h3 应用程序直接托管到 Deno Deploy。
使用
创建应用入口:
app.mjs
js
import { createApp, defineEventHandler } from 'h3'
export const app = createApp()
app.use(defineEventHandler(() => 'Hello world!'))
创建 Deno Deploy 条目:
deno.mjs
js
import { toWebHandler } from 'h3'
import { app } from './app.mjs'
Deno.serve(toWebHandler(app))
创建 import_map.json
:
import_map.json
json
{
"imports": {
"h3": "https://esm.sh/h3@latest"
}
}
最后,使用 deno run
进行本地预览:
terminal
bash
deno run --allow-net ./deno.mjs
要部署,请使用 deployctl deploy
:
terminal
bash
deployctl deploy --prod --exclude=node_modules --import-map=./import_map.json ./deno.mjs
WebSocket 支持
ts
import wsAdapter from 'crossws/adapters/deno'
const handler = toWebHandler(app)
const { handleUpgrade } = wsAdapter(app.websocket)
Deno.serve((request) => {
if (request.headers.get('upgrade') === 'websocket') {
return handleUpgrade(request)
}
return handler(request)
})
请参阅 pi0/h3-on-edge 演示以获取完整工作示例 (部署)。