Node.js Node.js

使用 Node.js 本地运行 h3 服务器。

为了在 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。在此方法中,您只需使用 defaultapp 导出创建 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)