@ fluid- 内部/ 客户用户
这套软件包的目的是在流体框架Repo, 主要在客户发布组内.
重要:流体框架将本套件作为实施细节. 不要把它当作公众的依赖. 我们不保证这一一揽子计划或其API的稳定.
在此软件包中添加代码
作为一个通用软件包,这个软件包没有很强的特性. 也就是说很容易变成"被倾销" 我们觉得应该共享的代码 但没有明显的家 我们尽量避免把东西丢进 工具包, 这个也不例外 .
新的代码只应在罕见的情况下添加到这个包中. 在大多数情况下,编码最好放在 具有明确身份的软件包(如共享事件基础设施的"事件"软件包)或完全不共享.
所需资源
这个包对里面的代码有重要要求.
- 本套件中的代码应当要求一些外部依赖性. 如果它没有,那么 核心用途 软件包 是一个更好的地点.
- 所有出口必须指定
@internal。 。 。 . 此代码仅用于流体框架中. 排出 API 的小型事件 由遗留测试支持使用. - 这个包应该 只包含"执行"代码,而不是类型定义. 这是最灵活的规则,和 有一些例外。 如果类型是 仅限 当使用此软件包时, 可能还有必要。 不过, 这类类型通常最好放在核心界面或符合目的的包中.
如果您想要添加不符合这些要求的代码,这些其他软件包可能是一个更好的选择:
- 类型和接口 应把打算广泛共享的客户发布组放入 核心接口 软件包.
- 零依赖共享代码 应放入 核心用途 软件包.
异形码
这一一揽子方案存在的主要原因之一,是提供异构执行 在浏览器和Node.js环境中同时工作的缓冲器和相关公用设备.
我们在这方面的总体战略如下:
-
我们使用 package.json 中的导出映射为浏览器提供不同的切入点(indexBrowser.js) vs. Node.js (index Node.js) (英语).
-
因为浏览器生态系统更复杂(捆绑等),我们通过制作 浏览器默认值。 只有Node.js依靠通过导出地图进行再映射.
-
我们只是用出口图来解决最初的入站点,从而进一步简化事情。 我们没有 依赖导出地图重新映射模块中的导入。 (基本上,浏览器/节点.js具体 在入口处和从该点开始明确导入浏览器或节点的执行叉 特定文件. )
重要的是要意识到的是,我们的CJS支持依赖于复制一个 stub 包. json 将模块类型设置为普通j。 在解决CJS的内部进口时 软件包,模块解析会从 *.js 文件上行并发现此 stub 软件包.json 。 因为 json 缺少出口图, 内部的进口不会被重新配置.
导出报告和林定
目前存在遗留的 API 以及同位素浏览器和 Node.js 支持,
生成和检查API在客户组中是独一无二的. lib/client-utils.(browser|node).*.d.ts 文件
用于生产(不包括npm包).
对于本地(开发)构建的浏览器报告,首先生成,然后将Node.js报告核实为 与浏览器相同。 (两套报告使用相同的目标文件. )
软件包脚本 check:exports:esm:indexBrowser:legacy 财务报告和审定财务报表 check:exports:esm:indexNode:legacy 没有
验证实际出口,但验证遗留的 API 集内标记的一致性.
贡献准则
你们可以 贡献 通过这些方式实现流体框架:
详细指示改为: repo 文档。 。 。 .
本项目遵循 Microsoft 开源行为守则。 。 。 . 更多信息,改为: 《行为守则》经常被问到的问题。 。 。 . 问题或评论,联系 打开码@ microsoft.com。 。 。 .
这个项目可能包含微软项目的商标或标志,产品,或服务. 这些商标或标志的使用必须遵循微软 商标和品牌准则。 。 。 . 在这个项目的修改后版本中使用微软商标或标志不得造成混淆或暗示微软赞助.
帮助
读取 流体框架文件 用于了解流体框架概念和API.
要求提供文件未载列的资料, 创建问题。 。 。 .
商标
这个项目可能包含微软项目的商标或标志,产品,或服务.
这些商标或标志的使用必须遵循微软的 商标和品牌准则。 。 。 .
在这个项目的修改后版本中使用微软商标或标志不得造成混淆或暗示微软赞助.