翻译:
贝拉·巴克斯特 adonisJS v6/v7——登记册的服务提供者 BellaService 在IoC的容器中,为活地重装机密.
安装
npm install @bella-baxter/adonis
# or
pnpm add @bella-baxter/adonis
设置
1. 登记提供者
// adonisrc.ts
import { defineConfig } from '@adonisjs/core/build/config.js';
export default defineConfig({
providers: [
() => import('@bella-baxter/adonis'),
],
});
2. 创建配置文件
// config/bella.ts
import env from '#start/env'
import type { BellaConfigOptions } from '@bella-baxter/adonis';
const bellaConfig: BellaConfigOptions = {
baxterUrl: env.get('BELLA_BAXTER_URL'),
apiKey: env.get('BELLA_BAXTER_API_KEY'),
projectSlug: env.get('BELLA_BAXTER_PROJECT', 'my-app'),
environmentSlug: env.get('BELLA_BAXTER_ENV', 'production'),
};
export default bellaConfig;
3. 输入控制器/服务
import { inject } from '@adonisjs/core';
import { BellaService } from '@bella-baxter/adonis';
@inject()
export default class SecretsController {
constructor(protected bella: BellaService) {}
async show() {
return { dbUrl: this.bella.getOrThrow('DATABASE_URL') }
}
}
类型机密
运行 bella secrets generate typescript --declaration 生成 bella-secrets.d.ts编辑 BellaService 代理拾取扩展 BellaSecrets 接口 :
this.bella.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 的私钥( 可选) |