[ PROMPT_NODE_23588 ]
neon-js
[ SKILL_DOCUMENTATION ]
# Neon JS SDK
`@neondatabase/neon-js` SDK 为 Neon Auth 和 Data API 提供了一个统一的客户端。它结合了身份验证处理与兼容 PostgREST 的数据库查询功能。
**仅需身份验证?** 请使用 `neon-auth.md` 以获得更小的包体积。
官方文档:
bash
curl -H "Accept: text/markdown" https://neon.tech/docs/reference/javascript-sdk
## 包选择
| 用例 | 包 | 说明 |
| --------------- | ---------------------------- | ------------------- |
| Auth + Data API | `@neondatabase/neon-js` | 完整 SDK |
| 仅 Auth | `@neondatabase/auth` | 更小的包 |
| 仅 Data API | `@neondatabase/postgrest-js` | 自带身份验证 |
## 安装
bash
npm install @neondatabase/neon-js
## 快速设置模式
### Next.js (最常用)
**1. API 路由处理器:**
typescript
// app/api/auth/[...path]/route.ts
import { authApiHandler } from "@neondatabase/neon-js/auth/next";
export const { GET, POST } = authApiHandler();
**2. 身份验证客户端:**
typescript
// lib/auth/client.ts
import { createAuthClient } from "@neondatabase/neon-js/auth/next";
export const authClient = createAuthClient();
**3. 数据库客户端:**
typescript
// lib/db/client.ts
import { createClient } from "@neondatabase/neon-js";
import type { Database } from "./database.types";
export const dbClient = createClient({
auth: { url: process.env.NEXT_PUBLIC_NEON_AUTH_URL! },
dataApi: { url: process.env.NEON_DATA_API_URL! },
});
### React SPA
typescript
import { createClient } from "@neondatabase/neon-js";
import { BetterAuthReactAdapter } from "@neondatabase/neon-js/auth/react/adapters";
const client = createClient({
auth: {
adapter: BetterAuthReactAdapter(),
url: import.meta.env.VITE_NEON_AUTH_URL,
},
dataApi: { url: import.meta.env.VITE_NEON_DATA_API_URL },
});
### Node.js 后端
typescript
import { createClient } from "@neondatabase/neon-js";
const client = createClient({
auth: { url: process.env.NEON_AUTH_URL! },
dataApi: { url: process.env.NEON_DATA_API_URL! },
});
## 环境变量
bash
# Next.js (.env.local)
NEON_AUTH_BASE_URL=https://ep-xxx.neonauth.c-2.us-east-2.aws.neon.build/dbname/auth
NEXT_PUBLIC_NEON_AUTH_URL=https://ep-xxx.neonauth.c-2.us-east-2.aws.neon.build/dbname/auth
NEON_DATA_API_URL=https://ep-xxx.apirest.c-2.us-east-2.aws.neon.build/dbname/re