Eppo 的 JavaScript SDK 通用库
开始
参考我们 SDK 文档 如何安装和使用 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时安装此软件包的本地版本可能是有用的. 这可以分两个步骤进行:
- 用客户端 SDK 打开目录, 您想要将此库添加到此库并运行
make prepare - 将此库的本地版本添加到您正在运行的 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) .
命令行使用量
安装为项目依赖性 :
# Install as a dependency
npm install --save-dev @eppo/js-client-sdk-common
# or, with yarn
yarn add --dev @eppo/js-client-sdk-common
常用用法示例 :
# 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: 显示帮助
程序用途
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 提供靴子.