# @flipt-io/flipt-client-browser 中文文档

规范地址：https://npmcn.com/package/%40flipt-io/flipt-client-browser/

版本：0\.6\.0
npm 元数据更新时间：2025-03-30T13:25:36.801Z
中文译文更新时间：2026-11-14T23:23:33.188Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40flipt-io/flipt-client-browser
原文对照：https://npmcn.com/package/%40flipt-io/flipt-client-browser/?lang=original
项目主页：https://github.com/flipt-io/flipt-client-sdks/tree/main#readme
源码仓库：https://github.com/flipt-io/flipt-client-sdks#main

弃用说明：This package has been superseded by @flipt-io/flipt-client-js\. Please update your dependencies\.

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.1 MB，15 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2024-04-07T14:30:05.286Z
- 最新版本发布：2025-03-30T13:25:36.611Z
- 近 30 天下载量：46378（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：28（近 12 个月 0 个）

## 中文简介

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

## 安装

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

也可以使用：`pnpm add @flipt-io/flipt-client-browser`、`yarn add @flipt-io/flipt-client-browser`、`bun add @flipt-io/flipt-client-browser`

## README

# 翻转客户端浏览器

> \[尖叫声\] 这个SDK已经贬值,不会继续前进. 请使用新的 [翻转客户端 JS SDK](https://github.com/flipt-io/flipt-client-sdks/tree/main/flipt-client-js) 换句话说.

[![flipt-client-browser](https://img.shields.io/npm/v/@flipt-io/flipt-client-browser?label=%40flipt-io%2Fflipt-client-browser)](https://www.npmjs.com/package/@flipt-io/flipt-client-browser) ![deprecated](https://img.shields.io/badge/status-deprecated-red)

这个 `flipt-client-browser` 库中包含用于翻转的 JavaScript/ TypeScript 源代码 [客户端评价](https://www.flipt.io/docs/integration/client) 用于浏览器的客户端.

## 安装

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

## 使用量

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

```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`: 与上游翻转实例通信时使用的认证策略。 如果不提供,客户端将默认为没有认证. 见 [认证](https://npmcn.com/package/%40flipt-io/flipt-client-browser/#readme-authentication) 用于提供更多信息.
    -   `reference`编号: [参考文献](https://docs.flipt.io/guides/user/using-references) 用于获取旗帜状态。 如果不提供参考文献,则不使用参考文献.
    -   `fetcher`执行 [获取器](https://github.com/flipt-io/flipt-client-sdks/blob/bc1c19b553bf265f7f49ed4901d59f4202aff135/flipt-client-browser/src/models.ts#L1-L16) 界面,用于请求旗帜状态时。 如果没有提供,则使用浏览器的默认取取器 [`fetch` API 密码](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) 将被使用.
    -   `errorStrategy`: 获取旗帜状态时所用的错误策略 。 如果不提供,客户端将默认失败. 见 [错误策略](https://npmcn.com/package/%40flipt-io/flipt-client-browser/#readme-error-strategies) 用于提供更多信息.

### 认证

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

-   无认证( 默认)
-   [客户端托肯认证](https://docs.flipt.io/authentication/using-tokens)
-   [JWT 认证](https://docs.flipt.io/authentication/using-jwts)

### 错误策略

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

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

### 自定义获取器

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

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

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

获取器是一个需要可选的函数 [`IFetcherOpts`](https://github.com/flipt-io/flipt-client-sdks/blob/bc1c19b553bf265f7f49ed4901d59f4202aff135/flipt-client-browser/src/models.ts#L1-L16) 参数并返回 a `Promise` 决心 `Response` 对象.

## 州管理层

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

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

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

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

if (changed) {
  // Do something
}
```

## ETag 支持

默认取取器使用 [Etag HTTP 标题](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag) 以减少向 Flipt 实例提出的请求数量。 在旗下状态不经常更新且您想要减少服务器上负载的情景中,这很有用.

要禁用ETag 支持, 您可以执行 [自定义获取器](https://npmcn.com/package/%40flipt-io/flipt-client-browser/#readme-custom-fetcher) 不使用ETags.

## 发展

### 刚才

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

### 先决条件

-   [转动引擎 转动引擎](https://npmcn.com/package/%40flipt-io/flipt-engine-wasm-js)

### 构建

```bash
npm run build
```

### 测试

```bash
npm install
npm test
```

## 捐款

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

## 许可证

本项目根据以下规定获得许可证: [MIT 许可证](https://npmcn.com/package/%40flipt-io/flipt-client-browser/LICENSE)。 。 。 .

## 常见问题

### @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。作者已将其标记为弃用，新项目建议寻找替代方案。

