@bucketeer/openfeature-js-client-sdk

中文文档
0.0.6发布于 2026/05/26Apache-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 5892

这是JS官方的 OpenFeature 供应商,用于访问您的功能旗 巴克特尔。 。 。 .

中文使用文档
文档目录11 节
  1. 目录
  2. 网络( JavaScript / TypeScript)
  3. 安装(网络)
  4. 用法 (网络)
  5. 反应
  6. 原生反应
  7. 实例
  8. 捐款
  9. 发展
  10. 环境
  11. 许可证

Bucketeer - OpenFeature JS供应商(英语:OpenFeature JS supposed)

这是JS官方的 OpenFeature 供应商,用于访问您的功能旗 巴克特尔。 。 。 .

巴克特尔 是一个开源平台,由 网络代理商 帮助各小组作出更好的决定,减少部署准备时间,并通过特征旗帜释放风险。 Bucketeer提供先进的功能,如暗发射和相继推出,根据用户属性,设备,以及其他部分进行有限的发布.

与 打开Feature SDK 您可以在您的网页、 React 和 React Industrial 应用程序中评估您的特征标记.

[尖叫声] 这是一个β版本。 在一般发布前可以引入中断更改.

有关巴克特尔旗帜管理的文件,参见 巴克特文档网站。 。 。 .

目录


网络( JavaScript / TypeScript)

安装(网络)

npm install @bucketeer/openfeature-js-client-sdk

[注] npm 第7及以上版本将自动安装所需的对等依赖 : @openfeature/web-sdk 财务报告和审定财务报表 @bucketeer/js-client-sdk。 。 。 . 如果您对缺失的端点依赖性有错误, 请手动安装 :

npm install @openfeature/core @openfeature/web-sdk @bucketeer/js-client-sdk

用法 (网络)

配置

使用 defineBKTConfig 创建您的配置.

import { defineBKTConfig } from '@bucketeer/openfeature-js-client-sdk';

const config = defineBKTConfig({
  apiEndpoint: 'BUCKETEER_API_ENDPOINT',
  apiKey: 'BUCKETEER_API_KEY',
  featureTag: 'FEATURE_TAG',
  appVersion: '1.2.3',
  fetch: window.fetch,
})

看我们的 文档 用于更多的 SDK 配置.

初始化

初始化并设置 Bucketeer 供应商到 OpenFeature .

import { OpenFeature } from '@openfeature/web-sdk';
import { defineBKTConfig, BucketeerProvider } from '@bucketeer/openfeature-js-client-sdk';

const config = defineBKTConfig({
  apiEndpoint: 'BUCKETEER_API_ENDPOINT',
  apiKey: 'BUCKETEER_API_KEY',
  featureTag: 'FEATURE_TAG',
  appVersion: '1.2.3',
  fetch: window.fetch,
})

const initEvaluationContext = {
  targetingKey: 'USER_ID',
  app_version: '1.2.3',
}
await OpenFeature.setContext(initEvaluationContext)
const provider = new BucketeerProvider(config)
await OpenFeature.setProviderAndWait(provider)

评估特征旗

提供者被设定后,提供者的地位是 ClientProviderEvents.Ready,您可以使用 OpenFeature 客户端来评价一个特性旗.

const client = OpenFeature.getClient();

// boolean flag
const flagValueBool = client.getBooleanValue('my-feature-flag', false);

// string flag
const flagValueStr = client.getStringValue('my-feature-flag', 'default-value');

// number flag
const flagValueNum = client.getNumberValue('my-number-flag', 0);

// object flag
const flagValueObj = client.getObjectValue('my-object-flag', {});

详情请见 OpenFeature Web SDK 文档。 。 。 .

更新评价背景

评价上下文允许客户端指定Bucketeer用来评价特征旗帜的上下文数据. 这个 targetingKey 是用户ID(唯一ID),不能为空.

如果用户属性发生变化,可以使用新属性来更新评价上下文.

const newEvaluationContext = {
  targetingKey: 'USER_ID',
  app_version: '2.0.0',
  age: 25,
  country: 'US',
}
await OpenFeature.setContext(newEvaluationContext)

[尖叫声] 改变 targetingKey 在目前执行的Bucketer Provider中不支持.

要更改用户ID,必须去掉并重新初始化Bucketeer Provider.

await OpenFeature.clearProviders()
await OpenFeature.clearContext()

// Reinitialize the provider with new targetingKey
const newEvaluationContext = {
  targetingKey: 'USER_ID_NEW',
  app_version: '2.0.0',
  age: 25,
  country: 'US',
}

const config = defineBKTConfig({
  apiEndpoint: 'BUCKETEER_API_ENDPOINT',
  apiKey: 'BUCKETEER_API_KEY',
  featureTag: 'FEATURE_TAG',
  appVersion: '1.2.3',
  fetch: window.fetch,
})

await OpenFeature.setContext(newEvaluationContext)
const provider = new BucketeerProvider(config)
await OpenFeature.setProviderAndWait(provider)

反应

反应指示请见我们 反应文档。 。 。 .


原生反应

请见我们 反应本地文档。 。 。 .


实例

我们提供几个例子来帮助您从巴克特OpenFeature供应商开始:

每个实例都包含一个README,并附有如何运行的指令.


捐款

我们会为你贡献给巴克特 并帮助改善它! 任何人都可以使用和享受它!

请遵照我们的贡献指南 这里。 。 。 .

发展

环境

  • 小时
    • 让它通过 corepack enable
  • 节点.js
    • 检查 ./.node-version

惠璶 .env 用于提供 api 机密的文件. 刚刚复制 env.template 并重命名为 .env,然后用你的秘密更新它.

许可证

Apache 许可证 2.0, 见 自由主义。 。 。 .

版本与发布记录

@bucketeer/openfeature-js-client-sdk 共发布 7 个版本,首次发布于 2025/06/17;过去 12 个月发布了 6 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.6latest2026/05/265 个月前
0.0.42025/12/2410 个月前
0.0.4-1765959947-0f6fc7dnext2025/12/1710 个月前
0.0.4-1765958283-343eb492025/12/1710 个月前
0.0.32025/11/1911 个月前
0.0.22025/11/1811 个月前

关于 @bucketeer/openfeature-js-client-sdk 的常见问题

@bucketeer/openfeature-js-client-sdk 是什么?

这是JS官方的 OpenFeature 供应商,用于访问您的功能旗 巴克特尔。 。 。 .

如何安装 @bucketeer/openfeature-js-client-sdk?

在项目目录运行 npm install @bucketeer/openfeature-js-client-sdk,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@openfeature/web-sdk(>=1.4.0 <2.0.0)、@bucketeer/js-client-sdk(>=2.6.1 <3.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@bucketeer/openfeature-js-client-sdk 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bucketeer/openfeature-js-client-sdk 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@bucketeer/openfeature-js-client-sdk 可以商用吗?

@bucketeer/openfeature-js-client-sdk 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@bucketeer/openfeature-js-client-sdk 的下载量有多少?

根据 npm 官方下载统计,@bucketeer/openfeature-js-client-sdk 在 2026/10/09 – 2026/11/07 这 30 天内被下载 5,892 次,日均约 196 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bucketeer/openfeature-js-client-sdk 还在维护吗?

最新版本 0.0.6 发布于 2026/05/26(5 个月前);至今共发布 7 个版本,其中过去 12 个月发布了 6 个;首次发布于 2025/06/17。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。