为了在 Node.js 中启动 h3 应用,请使用 toNodeListener
适配器将 h3 应用转换为 Node.js requestListener。
用法
首先,创建一个 h3 应用:
app.mjs
js
import { createApp, defineEventHandler } from 'h3'
export const app = createApp()
app.use(defineEventHandler(() => 'Hello world!'))
创建 Node.js 服务器入口:
server.mjs
js
import { createServer } from 'node:http'
import { toNodeListener } from 'h3'
import { app } from './app.mjs'
createServer(toNodeListener(app)).listen(process.env.PORT || 3000)
现在,您可以使用 Node.js 本地运行 h3 应用程序:
terminal
bash
node ./server.mjs
Using listhen
或者,您可以使用 unjs/listhen。在此方法中,您只需使用 default
或 app
导出创建 app.mjs
。
运行此命令来运行您的服务器:
sh
npx --yes listhen ./app.ts
WebSocket support
当使用 listen 方法时,websocket 即支持开箱即用!
ts
import wsAdapter from 'crossws/adapters/node'
const { handleUpgrade } = wsAdapter(app.websocket)
server.on('upgrade', handleUpgrade)