@bella-baxter/ next (英语)
贝拉·巴克斯特 next.js(App路由器)的集成——一次装入机密 instrumentation.ts ,并在任何服务器组件或API路由中访问它们.
⚠️ 只有节点.js运行时间. 与 Edge 运行时间不符 。 对于边缘路线,在部署时输出机密
bella secrets get -o .env.production并读取process.env。 。 。 .
安装
npm install @bella-baxter/next
# or
pnpm add @bella-baxter/next
设置
1. 启用仪器(下册:js 14+)
// next.config.js / next.config.ts
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
instrumentationHook: true,
},
};
export default nextConfig;
2. 初始化于 instrumentation.ts
// instrumentation.ts
import { initBella } from '@bella-baxter/next';
export async function register() {
if (process.env.NEXT_RUNTIME === 'nodejs') {
await initBella({
baxterUrl: process.env.BELLA_BAXTER_URL!,
apiKey: process.env.BELLA_BAXTER_API_KEY!,
projectSlug: 'my-app', // or BELLA_BAXTER_PROJECT env var
environmentSlug: 'production', // or BELLA_BAXTER_ENV env var
});
}
}
3. 任何服务器边
// app/api/route.ts
import { getBella, bella } from '@bella-baxter/next';
export async function GET() {
// Option A: full config object
const config = getBella();
const dbUrl = config.getOrThrow('DATABASE_URL');
// Option B: direct shorthand
const redisUrl = bella('REDIS_URL');
return Response.json({ ok: true });
}
类型机密
运行 bella secrets generate typescript --declaration 生成 bella-secrets.d.ts。 。 。 . getBella() 返回时 BellaConfig & BellaSecrets ——打入的地产访问自动工作:
getBella().DATABASE_URL // string — typed!
环境变量
| 变量 | 说明 |
|---|---|
BELLA_BAXTER_URL | Bella Baxter API 的基础 URL |
BELLA_BAXTER_API_KEY | API 密钥( E)bax-...(中文(简体) ) |
BELLA_BAXTER_PROJECT | 项目弹片 |
BELLA_BAXTER_ENV | 环境弹 |
BELLA_BAXTER_PRIVATE_KEY | ZKE 的私钥( 可选) |