@flipt-io/flipt-client-browser

中文文档
0.6.0发布于 2025/03/30MITTypeScriptESM + CJS零依赖近 30 天下载 4.6万

已删除: 此软件包已被 @ flipt- io/ flipt- client- js 所取代 。 请更新您的依赖关系 .

此软件包已被标记为弃用

This package has been superseded by @flipt-io/flipt-client-js. Please update your dependencies.

中文使用文档
文档目录15 节
  1. 安装
  2. 使用量
  3. 初始化参数
  4. 认证
  5. 错误策略
  6. 自定义获取器
  7. 州管理层
  8. ETag 支持
  9. 发展
  10. 刚才
  11. 先决条件
  12. 构建
  13. 测试
  14. 捐款
  15. 许可证

翻转客户端浏览器

[尖叫声] 这个SDK已经贬值,不会继续前进. 请使用新的 翻转客户端 JS SDK 换句话说.

flipt-client-browser deprecated

这个 flipt-client-browser 库中包含用于翻转的 JavaScript/ TypeScript 源代码 客户端评价 用于浏览器的客户端.

安装

npm install @flipt-io/flipt-client-browser

使用量

在您的 JavaScript/ Typescript 代码中, 您可以导入此客户端并以此方式使用 :

import { FliptEvaluationClient } from '@flipt-io/flipt-client-browser';

// namespace is the first positional argument and is optional here and will have a value of "default" if not specified.
// options is the second positional argument and is also optional, the structure is:
// {
//  "url": "http://localhost:8080",
//  "authentication": {
//    "clientToken": "secret"
//  }
// }
//
const fliptEvaluationClient = await FliptEvaluationClient.init('default', {
  url: 'http://localhost:8080',
  authentication: {
    clientToken
  }
});

const variant = fliptEvaluationClient.evaluateVariant('flag1', 'someentity', {
  fizz: 'buzz'
});

console.log(variant);

初始化参数

这个 FliptEvaluationClient 构造器接受两个可选参数:

  • namespace: 获取旗下状态的命名空间 。 如果不提供,客户端将默认为 default 名称空间.
  • options: 实例 ClientOptions 类型,用于支持客户端的若干选项。 其结构是:
    • url: 上游翻转实例的 URL。 如果不提供,客户端将默认为 http://localhost:8080。 。 。 .
    • authentication: 与上游翻转实例通信时使用的认证策略。 如果不提供,客户端将默认为没有认证. 见 认证 用于提供更多信息.
    • reference编号: 参考文献 用于获取旗帜状态。 如果不提供参考文献,则不使用参考文献.
    • fetcher执行 获取器 界面,用于请求旗帜状态时。 如果没有提供,则使用浏览器的默认取取器 fetch API 密码 将被使用.
    • errorStrategy: 获取旗帜状态时所用的错误策略 。 如果不提供,客户端将默认失败. 见 错误策略 用于提供更多信息.

认证

这个 FliptEvaluationClient 支持下列认证战略:

错误策略

客户 errorStrategy 选项支持以下错误策略:

  • fail: 如果无法获取旗下状态, 客户端会出错 。 这是默认行为.
  • fallback:客户端将保持最后已知的好状态,并在出错时使用该状态进行评价.

自定义获取器

这个 FliptEvaluationClient 支持自定义获取器。 这允许您从自定义源获取旗下状态, 或者覆盖 HTTP 头 .

取取器可以传递给 FliptEvaluationClient 初始化函数 .

const fliptEvaluationClient = await FliptEvaluationClient.init('default', {
  url: 'http://localhost:8080',
  authentication: {
    clientToken
  },
  fetcher: customFetcher
});

获取器是一个需要可选的函数 IFetcherOpts 参数并返回 a Promise 决心 Response 对象.

州管理层

这个 FliptEvaluationClient 类从 Flipt 实例中拉出旗帜状态 url b. 《公约》 options 在即时状态下的对象.

为了更新旗下状态,你可以打电话给 refresh 方法 FliptEvaluationClient 课.

[注] 这个 refresh 方法返回布尔表示国旗状态是否改变.

// Refresh the flag state
let changed = await fliptEvaluationClient.refresh();

if (changed) {
  // Do something
}

ETag 支持

默认取取器使用 Etag HTTP 标题 以减少向 Flipt 实例提出的请求数量。 在旗下状态不经常更新且您想要减少服务器上负载的情景中,这很有用.

要禁用ETag 支持, 您可以执行 自定义获取器 不使用ETags.

发展

刚才

这个库使用WebAssem(WASM)层与Flipt服务器交互. 它用 Rust 写成,并使用 wasm-bindgen 财务报告和审定财务报表 wasm-pack 工具。 我们用 JavaScript API 将已建成的WASM 层包裹起来,以便于在浏览器环境中使用.

先决条件

构建

npm run build

测试

npm install
npm test

捐款

欢迎捐款! 请随意打开一个问题或提交拉出请求.

许可证

本项目根据以下规定获得许可证: MIT 许可证。 。 。 .

版本与发布记录

@flipt-io/flipt-client-browser 共发布 28 个版本,首次发布于 2024/04/07;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.6.0latest2025/03/301.6 年前
0.5.02025/03/051.7 年前
0.4.02024/12/131.9 年前
0.3.12024/10/172 年前
0.3.02024/10/102 年前
0.2.12024/09/212 年前

关于 @flipt-io/flipt-client-browser 的常见问题

@flipt-io/flipt-client-browser 是什么?

已删除: 此软件包已被 @ flipt- io/ flipt- client- js 所取代 。 请更新您的依赖关系 .注意:该包已被作者标记为弃用——This package has been superseded by @flipt-io/flipt-client-js. Please update your dependencies.

如何安装 @flipt-io/flipt-client-browser?

在项目目录运行 npm install @flipt-io/flipt-client-browser,或使用 pnpm add / yarn add / bun add。

@flipt-io/flipt-client-browser 支持 TypeScript 吗?

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

@flipt-io/flipt-client-browser 支持 ESM 还是 CommonJS?

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

@flipt-io/flipt-client-browser 可以商用吗?

@flipt-io/flipt-client-browser 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@flipt-io/flipt-client-browser 的下载量有多少?

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

@flipt-io/flipt-client-browser 还在维护吗?

最新版本 0.6.0 发布于 2025/03/30(1.6 年前);至今共发布 28 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/04/07。作者已将其标记为弃用,新项目建议寻找替代方案。