Skip to content
Our Sponsors
Open in Anthropic

title: 与 Node.js 集成 - ElysiaJS head: - - meta - property: 'og:title' content: 与 Node.js 集成 - ElysiaJS

- - meta
  - name: 'description'
    content: Elysia 提供了一个运行时适配器,用于在多种运行时上运行 Elysia,包括 Node.js、Cloudflare Worker 等

- - meta
  - property: 'og:description'
    content: Elysia 提供了一个运行时适配器,用于在多种运行时上运行 Elysia,包括 Node.js、Cloudflare Worker 等

与 Node.js 集成

Elysia 提供了一个运行时适配器,用于在多种运行时上运行 Elysia,包括 Node.js。

要在 Node.js 上运行 Elysia,只需安装 Node 适配器。

bash
bun add elysia @elysiajs/node
bash
pnpm add elysia @elysiajs/node
bash
npm install elysia @elysiajs/node
bash
yarn add elysia @elysiajs/node

然后,将 node 适配器应用到你的主 Elysia 实例。

typescript
import { Elysia } from 'elysia'
import { node } from '@elysiajs/node'

const app = new Elysia({ adapter: node() }) 
	.get('/', () => 'Hello Elysia')
	.listen(3000)

这就是在 Node.js 上运行 Elysia 所需的全部步骤。

附加设置(可选)

为了获得最佳体验,我们建议安装 tsxts-node 以及 nodemon

tsx 是一个 CLI 工具,它可以将 TypeScript 转译为 JavaScript,并提供热重载等您在现代开发环境中期望的功能。

bash
bun add -d tsx @types/node typescript
bash
pnpm add -D tsx @types/node typescript
bash
npm install --save-dev tsx @types/node typescript
bash
yarn add -D tsx @types/node typescript

然后,打开你的 package.json 文件并添加以下脚本:

json
{
   	"scripts": {
  		"dev": "tsx watch src/index.ts",
    	"build": "tsc src/index.ts --outDir dist",
  		"start": "NODE_ENV=production node dist/index.js"
   	}
}

这些脚本对应于应用开发的不同阶段:

  • dev - 以开发模式启动 Elysia,并在代码变更时自动重载。
  • build - 为生产环境构建应用。
  • start - 启动 Elysia 生产服务器。

确保创建 tsconfig.json

bash
tsc --init

别忘了更新 tsconfig.json,将 compilerOptions.strict 设置为 true

json
{
   	"compilerOptions": {
  		"strict": true
   	}
}

这将提供热重载和 JSX 支持,让你能获得与 bun dev 类似的体验来运行 Elysia。