@fluidframework/map

中文文档
3.12.0发布于 2026/11/11MITTypeScriptES Module近 30 天下载 6.4万

分布式地图

中文使用文档
文档目录19 节
  1. 使用 Fluid 框架库
  2. 安装
  3. 从此软件包导入
  4. API 文档
  5. 共享地图
  6. 创建
  7. 使用量
  8. 事件
  9. 共同导演与导演
  10. 创建
  11. 使用量
  12. 客户最低要求
  13. 支持的运行时间
  14. 支持的工具
  15. 模块分辨率
  16. 模块格式
  17. 贡献准则
  18. 帮助
  19. 商标

@ fluidframework/地图

使用 Fluid 框架库

对于依赖流体框架库的公共API,我们建议 ^ (caret)版本范围. 例如,使用 ^1.3.4。 。 。 .

依赖不稳定的API,例如: beta API,我们推荐一个更具限制性的版本范围. 例如,使用一个 ~ 版本范围.

安装

运行此命令以安装软件包 :

npm i @fluidframework/map

从此软件包导入

此软件包使用 packet.json 导出 通过支持级别将API分离. 有关支助保障的信息改为: API 支持级别。 。 。 .

导入 public API 从 @fluidframework/map。 。 。 .

导入 legacy API 从 @fluidframework/map/legacy。 。 。 .

API 文档

读取 @ fluidframework/地图 API 文档 https://fluidframework.com/docs/apis/map 页面存档备份,存于互联网档案馆。 。 。 .

共享地图

共享映射分布式数据结构可用于存储密钥值对. 它为设置和提供相同的API 获取 JavaScript 开发者习惯的值 地图 内建对象.

创建

创建 SharedMap,调用静态创建方法:

const myMap = SharedMap.create(this.runtime, id);

使用量

不同于 Java 脚本 Map页:1 SharedMap密钥必须是字符串 。 值只必须是普通JS对象或手柄(例如对另一个DS或流体对象).

在协作情况下,通过下列政策解决价值: 最后写取胜。 。 。 .

事件

SharedMap 是一个 EventEmitter,并将在其他客户端进行修改时释放出事件。 您应该为这些事件注册,并在修改数据时作出适当反应. valueChanged 将针对 set 或者说 delete,并提供存储在该密钥上的密钥和先前值. clear 将针对 clear。 。 。 .

共同导演与导演

A 类 SharedDirectory 是一种类似于地图的DDS,它额外支持在子目录树内存储密钥/值对. 这个子目录树可以用来给存储的密钥/值对提供分级结构,而不是将其存储在平面图上. 两者 SharedDirectory 任何子目录都是 IDirectories。 。 。 .

创建

创建 SharedDirectory,调用静态创建方法:

const myDirectory = SharedDirectory.create(this.runtime, id);

使用量

地图操作 IDirectory 指存储在其中的密钥/值对 IDirectory,功能就像 SharedMap 包括相同的额外功能以及对密钥和值的限制。 要操作子目录结构,采用相应的子目录方法.

getWorkingDirectory()

为"引出"子目录结构, IDirectory 页:1 getWorkingDirectory 返回 IDirectory 如果路径存在,则位于该路径.

事件

valueChanged 事件还提供了存储所改变的值的子目录的绝对路径.

dispose 事件在被删除的子目录上开火。 此子目录的任何访问都会在被处理后丢出一个错误 .

客户最低要求

Fluid框架客户端库支持此文档中的平台. 这些要求有意具有限制性. 在一个主要的版本系列中,我们可以放松这些要求,但我们不能使其更严格. 对于长期支持(LTS)版本,我们可能需要支持这些平台几年.

其他配置可以奏效,但Fluid框架不支持. 如果一个不支持的配置停止工作, 我们不会将此归类为错误 . 要请求支持未列出的配置, 请存档 . 产品组会评估你的要求. 在此问题上,请具体说明配置的现状:

  • 配置有效但需要官方支持.
  • 配置不起作用,需要更改.

支持的运行时间

  • Fluid框架支持节点.js版本22和24同时收到 上游支助。 。 。 .
  • Fluid框架支持支持ES2022标准库的现代浏览器.

支持的工具

  • 类型脚本 6.0数字 :
    • 流体框架支持全部 strict 选项.
    • 设定建设目标(lib, (中文(简体) ), target改为: ES2022 或后会.
    • 启用 strictNullChecks。 。 。 .
    • 流体框架不支持 在 TypeScript 6.0 中贬值的配置选项。 。 。 .
    • 流体框架不完全支持 exactOptionalPropertyTypes。 。 。 . 如果您启用此选项, 请不要使用 in, (中文(简体) ), Reflect.has, (中文(简体) ), Object.hasOwn,或 Object.prototype.hasOwnProperty 改为Fluid框架类型的窄成员. 这些方法可以错误地排除 undefined 从可能的值.
  • 网络软件包 页:1
    • 我们不需要一个特定的捆绑者. 其他处理ES模块的捆绑机可以工作,但我们只积极测试网页包.

模块分辨率

在类型脚本中 compilerOptions,使用时 Node16, (中文(简体) ), Node20, (中文(简体) ), NodeNext,或 Bundler 模块分辨率. 这些设置遵循 节点.js v12+无害环境管理 分辨率和加载算法。 。 。 .

不使用 Node10 模块分辨率.

模块格式

  • ES模块: 使用ES模块来消耗Fluid框架客户端软件包,包括在Node.js中.
  • 常见JS : Fluid Framework在3.0版本或后期不正式支持CommonJS.

贡献准则

你们可以 贡献 通过这些方式实现流体框架:

详细指示改为: repo 文档。 。 。 .

本项目遵循 Microsoft 开源行为守则。 。 。 . 更多信息,改为: 《行为守则》经常被问到的问题。 。 。 . 问题或评论,联系 打开码@ microsoft.com。 。 。 .

这个项目可能包含微软项目的商标或标志,产品,或服务. 这些商标或标志的使用必须遵循微软 商标和品牌准则。 。 。 . 在这个项目的修改后版本中使用微软商标或标志不得造成混淆或暗示微软赞助.

帮助

读取 流体框架文件 用于了解流体框架概念和API.

要求提供文件未载列的资料, 创建问题。 。 。 .

商标

这个项目可能包含微软项目的商标或标志,产品,或服务.

这些商标或标志的使用必须遵循微软的 商标和品牌准则。 。 。 .

在这个项目的修改后版本中使用微软商标或标志不得造成混淆或暗示微软赞助.

版本与发布记录

@fluidframework/map 共发布 695 个版本,首次发布于 2020/09/01;过去 12 个月发布了 48 个版本。

版本发布日期距今
3.12.0latest2026/11/114 天前
3.11.02026/11/0411 天前
3.10.02026/11/0411 天前
3.7.02026/10/2719 天前
3.6.02026/10/2026 天前
3.5.02026/10/131 个月前

其他发布通道:next → 2.0.0-dev-rc.1.0.0.225277,canary → 2.0.0-internal.8.0.8,dev → 2.116.0-416006,rc → 2.118.1。

关于 @fluidframework/map 的常见问题

@fluidframework/map 是什么?

分布式地图

如何安装 @fluidframework/map?

在项目目录运行 npm install @fluidframework/map,或使用 pnpm add / yarn add / bun add。

@fluidframework/map 支持 TypeScript 吗?

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

@fluidframework/map 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@fluidframework/map 可以商用吗?

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

@fluidframework/map 的下载量有多少?

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

@fluidframework/map 还在维护吗?

最新版本 3.12.0 发布于 2026/11/11(4 天前);至今共发布 695 个版本,其中过去 12 个月发布了 48 个;首次发布于 2020/09/01。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。