# @datadog/flagging-core 中文文档

规范地址：https://npmcn.com/package/%40datadog/flagging-core/

版本：3\.4\.0
npm 元数据更新时间：2026-10-29T18:46:17.030Z
中文译文更新时间：2026-11-11T13:23:39.631Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40datadog/flagging-core
原文对照：https://npmcn.com/package/%40datadog/flagging-core/?lang=original
项目主页：https://github.com/DataDog/openfeature-js-client#readme
源码仓库：https://github.com/DataDog/openfeature-js-client

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

- 包体积（解压后）：2.4 MB，409 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2025-07-14T19:16:04.794Z
- 最新版本发布：2026-10-29T18:46:16.686Z
- 近 30 天下载量：25506992（2026-10-12 至 2026-11-10，npm 官方下载统计）
- 已发布版本数：51（近 12 个月 23 个）

## 中文简介

用于 Datadog 标记的运行时间不可知旗帜评价逻辑

## 安装

```sh
npm install @datadog/flagging-core
```

也可以使用：`pnpm add @datadog/flagging-core`、`yarn add @datadog/flagging-core`、`bun add @datadog/flagging-core`

## README

# 数据犬 OpenFeature 核心库

## 配置解析切入点

默认 `@datadog/flagging-core` 切入点解析没有预计算配置 装入原生起发解码器。 为了分析预先计算和基于规则的配置, 选择进入全解析器 :

```ts
import { configurationFromString, configurationToString } from '@datadog/flagging-core/rules-based'
```

这个 `/rules-based` 输入点通过两个软件包 `exports` 地图和a 物理状态 `rules-based/package.json` 对不支持一揽子出口的解析器:

-   现代解析器使用现有的模块化通用JS/ESM执行.
-   遗产解析器使用自成一体的 CommonJS/ESM 兼容捆绑 同一来源在 `yarn build` /包装准备. 包括所需的原生生物 代码,所以消费者不需要解决 `/wire` 或者说 `/codegenv2` 潜行道.
-   两种路径都暴露出相同的API并再使用相同的TypeScript声明. 默认 入站点保持模块化,不导入相容捆绑或原生取出解码器.

兼容捆绑会增加 npm 软件包的大小, 但只使用 遗留的基于规则的切入点在应用程序包中包含它们。 他们继续依赖 版权/许可通知和源地图,未为应用程序捆绑程序指定 以优化.

包装包烟雾测试覆盖了Android和iOS捆绑,Metro包同时出口 已启用和已停用,包括遗留下来的通用JS和无害环境管理解决方案。 它执行这些捆绑 无节点 `BigInt`, (中文(简体) ), `TextEncoder`,或 `TextDecoder`; 此检查反向行为但确实 不在实际的赫尔墨斯或JavaScriptCore运行时替换执行测试 .

## 准备激活时间戳

规则配置是快照. 原生去编码器准备随机活化 时间戳一次,节点提供者准备 JSON 配置在 `setConfiguration`。 。 。 . 无效的激活只标记受影响的旗帜为剖析错误, 不管选择退出模式如何 . 评价对准备的秒和分数秒进行比较,而不解开时间戳; 使用 Java 脚本 `Date` 这里将失去选择停产时所需的纳秒精度.

直接JSON核心消费者可以打电话 `prepareUniversalFlagConfiguration(configuration)` 何时 正在接收配置。 现有的低级评价电话仍然接受原始配置 并准备每面国旗首次使用。 替换已更改的旗帜, 而不是已准备的变异 旗帜就位。 准备不会改变序列化配置.

## 添加一个公共切入点

`packages/core/package.json` **`exports` 是真理的唯一来源** 为公共道路. 添加 `@datadog/flagging-core/foo`数字 :

1.  创建 `src/foo.ts` 与预期的出口。 在此保留任何所需的初始化 源入点,而不是添加到捆绑器特定列表中.
    
2.  添加其现代映射到 `exports`数字 :
    
    ```json
    {
      "./foo": {
        "types": "./cjs/foo.d.ts",
        "import": "./esm/foo.js",
        "require": "./cjs/foo.js",
        "default": "./esm/foo.js"
      }
    }
    ```
    
3.  运行 `yarn workspace @datadog/flagging-core build` ,并将生成的元数据输入 来源改变。 照常添加该特征的行为测试.
    

构建生成物理回落表, 发布文件列表, 遗产声明 映射,和相容-捆绑副作用条目. 它发现并建立了CJS/ESM 每个公开的 JavaScript 子路径自动的兼容捆绑 。 不编辑这些 在Webpack配置或烟雾固定装置中显示或登记新路径.

支持混凝土嵌入子路径;通配符导出和不匹配 CJS/ESM/类型目标 失败时发生可操作错误。 删除路径 `exports` 并重建 拥有后退显示和生成的元数据,而不删除无关的文件.

`yarn check:entrypoints` 检查生成的元数据而不更改文件 。 线人以前开过 建筑物,以及 `prepack` 在打包前先检查一下,所以一个已失效的发布文件列表不能默默无闻 省略新的切入点。 包装测试发现每个已申报路径并生成 用于完整地铁矩阵的静态导入。 默认的切入点仍然单独而轻.

## 最终用户许可证协议

[https://www.datadoghq.com/legal/eula 互联网档案馆的存檔,存档日期2013-12-02](https://www.datadoghq.com/legal/eula)

## 常见问题

### @datadog/flagging-core 是什么？

用于 Datadog 标记的运行时间不可知旗帜评价逻辑

### 如何安装 @datadog/flagging-core？

在项目目录运行 npm install @datadog/flagging-core，或使用 pnpm add / yarn add / bun add。

### @datadog/flagging-core 支持 TypeScript 吗？

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

### @datadog/flagging-core 支持 ESM 还是 CommonJS？

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

### @datadog/flagging-core 可以商用吗？

@datadog/flagging-core 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @datadog/flagging-core 的下载量有多少？

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

### @datadog/flagging-core 还在维护吗？

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

