# @eppo/js-client-sdk-common 中文文档

规范地址：https://npmcn.com/package/%40eppo/js-client-sdk-common/

版本：5\.0\.0
npm 元数据更新时间：2026-05-06T12:00:02.960Z
中文译文更新时间：2026-11-13T19:54:27.599Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40eppo/js-client-sdk-common
原文对照：https://npmcn.com/package/%40eppo/js-client-sdk-common/?lang=original
项目主页：https://github.com/Eppo-exp/js-client-sdk-common#readme
源码仓库：https://github.com/Eppo-exp/js-client-sdk-common

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

- 包体积（解压后）：1.3 MB，305 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20\.0\.0
- 运行依赖：6 个
- 首次发布：2023-03-29T01:17:51.938Z
- 最新版本发布：2026-05-06T12:00:02.611Z
- 近 30 天下载量：650976（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：107（近 12 个月 3 个）

## 中文简介

Epo JavaScript SDKs 的常用库( 网络、 反应本地化和节点)

## 安装

```sh
npm install @eppo/js-client-sdk-common
```

也可以使用：`pnpm add @eppo/js-client-sdk-common`、`yarn add @eppo/js-client-sdk-common`、`bun add @eppo/js-client-sdk-common`

## README

# Eppo 的 JavaScript SDK 通用库

[![Test and lint SDK](https://github.com/Eppo-exp/js-sdk-common/actions/workflows/lint-test-sdk.yml/badge.svg)](https://github.com/Eppo-exp/js-sdk-common/actions/workflows/lint-test-sdk.yml) [![](https://img.shields.io/npm/v/@eppo/js-client-sdk-common)](https://www.npmjs.com/package/@eppo/js-client-sdk-common) [![](https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8)](https://eppo-exp.github.io/js-client-sdk/js-client-sdk-common.html) [![](https://data.jsdelivr.com/v1/package/npm/@eppo/js-client-sdk-common/badge)](https://www.jsdelivr.com/package/npm/@eppo/js-client-sdk-common)

## 开始

参考我们 [SDK 文档](https://docs.geteppo.com/sdks/client-sdks/javascript) 如何安装和使用 SDK.

## 地方发展

建立地方发展的一揽子计划,运行 `make prepare` 克隆仓库后

## 解决问题

-   贾斯特遇到意外的标志

```
Details:

/.../node_modules/@eppo/js-client-sdk-common/node_modules/uuid/dist/esm-browser/index.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){export { default as v1 } from './v1.js';
                                                                                  ^^^^^^
SyntaxError: Unexpected token 'export'
```

将以下行添加到您的 `jest.config.js` 文件 : `transformIgnorePatterns: ['<rootDir>/node_modules/(?!(@eppo|uuid)/)'],`

### 安装本地软件包

在开发客户端SDK或节点SDK时安装此软件包的本地版本可能是有用的. 这可以分两个步骤进行:

1.  用客户端 SDK 打开目录, 您想要将此库添加到此库并运行 `make prepare`
2.  将此库的本地版本添加到您正在运行的 SDK 中 `yarn add --force file:../js-client-sdk-common` (这假设两个寄存器被克隆到同一目录)

### 出版物

发布发布时,适用下列规则: 1

-   **标准发布**数字 :
    
    -   创建标签格式的发布 `vX.Y.Z` (例如, `v4.3.5`(中文(简体) )
    -   继续检查“ 设定为最新发布”
    -   成套材料将随同《公约》向国家预防机制公布 `latest` 标签
-   **释放前**数字 :
    
    -   创建标签格式的发布 `vX.Y.Z-label.N` (例如, `v4.3.5-alpha.1`(中文(简体) )
    -   请检查access-date=中的日期值 (帮助)
    -   将向国家预防机制公布以释放前标签为标签的套件(例如, `alpha.1`(中文(简体) )

**说明**: 如果:

-   释放前标记为"最晚"
-   使用出厂前标签时不检查"设定为出厂前"

## 工具

### 启动陷阱配置

您可以从命令行或程序上通过 配置 线人班.

该工具允许您指定此配置将使用的目标 SDK 。 必须正确具体说明 预想的 SDK, 因为这决定了配置是否被混淆( 对于客户端 SDKs) 或不是( 对于服务器 SDKs) .

#### 命令行使用量

**安装为项目依赖性 :**

```bash
# Install as a dependency
npm install --save-dev @eppo/js-client-sdk-common

# or, with yarn
yarn add --dev @eppo/js-client-sdk-common
```

常用用法示例 :

```bash
# Basic usage
yarn bootstrap-config --key <sdkKey> --output bootstrap-config.json

# With custom SDK name (default is 'js-client-sdk')
yarn bootstrap-config --key <sdkKey> --sdk android

# With custom base URL
yarn bootstrap-config --key <sdkKey> --base-url https://api.custom-domain.com

# Output configuration to stdout
yarn bootstrap-config --key <sdkKey> 

# Show help
yarn bootstrap-config --help
```

该工具接受以下参数:

-   `--key, -k`: SDK 密钥(需要,也可以通过 EPPO SDK KEY 环境变量设置)
-   `--sdk`: 目标 SDK 名称( 默认: 'js- client- sdk')
-   `--base-url`: 自定义 API 的基础 URL
-   `--output, -o`: 输出文件路径( 如果未指定, 输出到控制台)
-   `--help, -h`: 显示帮助

#### 程序用途

```typescript
import { ConfigurationHelper } from '@eppo/js-client-sdk-common';

async function getBootstrapConfig() {
  // Initialize the helper
  const helper = ConfigurationHelper.build(
    'your-sdk-key',
    {
      sdkName: 'android', // optional: target SDK name (default: 'js-client-sdk')
      baseUrl: 'https://api.custom-domain.com', // optional: custom base URL
    });

  // Fetch the configuration
  const config = await helper.fetchConfiguration();
  const configString = config.toString();

  // You are responsible to transport this string to the client
  const clientInitialData = {eppoConfig: eppoConfigString};

  // Client-side
  const client = getInstance();
  const initialConfig = configurationFromString(clientInitialData.eppoConfig);
  client.setInitialConfig(configurationFromString(configString));
}
```

该工具将输出一个包含配置线条格式的JSON字符串,可以用来给 Eppo SDKs 提供靴子.

## 常见问题

### @eppo/js-client-sdk-common 是什么？

Epo JavaScript SDKs 的常用库\( 网络、 反应本地化和节点\)

### 如何安装 @eppo/js-client-sdk-common？

在项目目录运行 npm install @eppo/js-client-sdk-common，或使用 pnpm add / yarn add / bun add。

### @eppo/js-client-sdk-common 支持 TypeScript 吗？

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

### @eppo/js-client-sdk-common 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @eppo/js-client-sdk-common 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @eppo/js-client-sdk-common 可以商用吗？

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

### @eppo/js-client-sdk-common 的下载量有多少？

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

### @eppo/js-client-sdk-common 还在维护吗？

最新版本 5\.0\.0 发布于 2026/05/06（6 个月前）；至今共发布 107 个版本，其中过去 12 个月发布了 3 个；首次发布于 2023/03/29。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

