[ PROMPT_NODE_23590 ]
common-mistakes
[ SKILL_DOCUMENTATION ]
# Neon JS - 常见错误
使用 `@neondatabase/neon-js` 时的常见错误参考指南。
## 导入错误
### BetterAuthReactAdapter 子路径要求
`BetterAuthReactAdapter` **不**从主包入口导出。
**错误:**
typescript
import { BetterAuthReactAdapter } from "@neondatabase/neon-js";
**正确:**
typescript
import { BetterAuthReactAdapter } from "@neondatabase/neon-js/auth/react/adapters";
### 适配器工厂函数
所有适配器必须使用 `()` 调用。
**错误:**
typescript
const client = createClient({
auth: {
adapter: BetterAuthReactAdapter, // 缺少 ()
url: process.env.NEON_AUTH_URL!,
},
dataApi: { url: process.env.NEON_DATA_API_URL! },
});
**正确:**
typescript
const client = createClient({
auth: {
adapter: BetterAuthReactAdapter(), // 作为函数调用
url: process.env.NEON_AUTH_URL!,
},
dataApi: { url: process.env.NEON_DATA_API_URL! },
});
---
## CSS 导入错误
选择 **一种** CSS 导入方法:
**使用 Tailwind v4:**
css
@import "tailwindcss";
@import "@neondatabase/neon-js/ui/tailwind";
**不使用 Tailwind:**
typescript
import "@neondatabase/neon-js/ui/css";
**切勿同时导入两者** - 会导致样式重复。
---
## 环境变量
**Next.js 所需:**
bash
# .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/rest/v1
**Vite/React SPA 所需:**
bash
# .env
VITE_NEON_AUTH_URL=https://ep-xxx.neonauth.c-2.us-east-2.aws.neon.build/dbname/auth
VITE_NEON_DATA_API_URL=https://ep-xxx.apirest.c-2.us-east-2.aws.neon.build/dbname/rest/v1
---
## 使用错误
### 缺少 "use client" 指令
typescript
"use client"; // 必需!
import { authClient } from "@/lib/auth/client";
function AuthStatus() {
const session = authClient.useSession();
// ...
}
### 适配器 API 错误
| 适配器 | 登录 (Sign In) | 注册 (Sign Up) |
| ---------------------- | ----------------------------------------- | ----------------------------------- |
| BetterAuthReactAdapter | `signIn.email({ email, password })` | `signUp.email({ email, password })` |
| SupabaseAuthAdapter | `signInWithPassword({ email, passwo