@cratis/arc.react.mvvm

中文文档
22.184.0发布于 2026/11/10MITTypeScriptESM + CJS构建来源已验证近 30 天下载 3.4万

Cratis Arc的回放MVM集成——取景模型,依赖注入,路由参数,和ASP.NET Core上CQRS应用的浏览器抽象.

中文使用文档
文档目录13 节
  1. 标题:" Cratis Arc: ASP.NET 的 CQRS 框架 心脏 说明: Cratis Arc是ASP.NE…
  2. 从这里开始
  3. 亚克拥有的
  4. 选择路径
  5. Arc 不需要事件源代码
  6. 与组件的关系
  7. 启动 Arc 主机
  8. 软件包和仓库布局
  9. 文件地图
  10. 捐款
  11. Trim 和 原生AOT 诊断
  12. 社区和储存处
  13. 克拉蒂斯生态系统

标题:" Cratis Arc: ASP.NET 的 CQRS 框架 心脏 说明: Cratis Arc是ASP.NET的CQRS框架. 核心在HTTP上暴露命令和查询,生成TypeScript客户端,而不需要事件源代码.

Cratis Arc: ASP.NET 的 CQRS 框架 核心

Cratis Arc是ASP.NET Core的开源(MIT)CQRS应用框架. CQRS将更改某事(命令)的请求与读取(queries)的请求分开. Arc通过HTTP曝光这些合同,处理验证和授权,并生成前端的TypeScript客户端. 它与当前状态存储或可选的 Cratis Chronicle 事件源代码合作.

构建一个特征作为垂直切片:保持其命令,读取模型,查询,前端,并相接相接. 后端定义了合同;生成的TypeScript代理将合同带入前端,而没有为这些合同提供手写API客户端. 可观察的查询让屏幕在结果变化时订阅,并配置了观测源.

选择您的特性需要的软件包 。 Arc包括身份和租赁,React集成,MongoDB和实体框架核心适配器,OpenAPI,分析器,以及测试帮助器. 纪事事件源代码和 Cratis 组件是可选集成. 免费 人工智能技能 为与堆栈一起建造提供指导.

NuGet NPM .NET Build JavaScript Build

从这里开始

亚克拥有的

边界弧提供
托管ASP.NET (英语). 核心托管加一Arc. 为工人、控制台和定制服务提供的核心HTTP主机
图标基于模式的和基于控制器的执行,验证,授权,过滤,范围,打出的结果,并生成了端点
查询基于模型的、基于控制器的读取、呼呼和排序、可观察的更新、WebSocket或Server-Sent Events传输以及查询诊断
验证数据说明、流利Validation、概念/命令/命令校验器、生成客户端规则以及从React表格中选择服务器预飞
身份和租赁可累积认证、身份细节、基于角色的授权以及标题、查询、索偿、子域、固定或开发租户解析
生成的合同TypeScript 代理,参考类型,验证元数据,身份细节,增量输出清理,以及包/类型映射
前端软件包TypeScript 命令/静态运行时间,反应钩和形式,对话框,可观察-静态组成,以及可选反应/MVVM集成
持久性一体化MongoDB 和实体框架 核心当前状态适配器加可选纪事支持的事件源行为
评价和工具制定OpenAPI, 运行时间回顾, 分析器, 源生成器, 命令方案, 代理生成检查, Vite 帮助器, 以及 ESLint 规则

使用此表查找您需要的能力, 然后检查您的主机、 提供者、 浏览器和版本的软件包和文档 。 各行不为每个组合建立相容性.

选择路径

弧形文档围绕您需要完成的工作排列 :

首先,在下面启动主机,然后遵循命令和查询指南。 如果您已有应用程序,请选择您想要Arc处理的部分的路径 .

Arc 不需要事件源代码

弧. 核心不依赖于"纪事". 一个命令可以调用一个应用程序服务或将当前状态写入一个数据库;一个查询可以在没有事件日志的情况下读取该状态.

在要记录事件并从中获取状态时选择可选的"纪事"集成. Arc仍然处理命令,查询,验证,授权,并生成前端合同.

纪事 是克拉蒂斯的存储-不可知事件包数据库和运行时间——麻省理工学院获得许可并可自由使用;见 纪事文档 为它自己的范围和设置.

与组件的关系

组件是一个与Arc应用模式一致的React组件库. 见 组成部分文件 它的包和设置.

应用程序可能使用无组件Arc,并继续负责自己的前端,可访问性,浏览器和设计系统验证.

启动 Arc 主机

Arc的.NET包嵌入了这个产品-家族的README. 下面的例子使用 Cratis.Arc 软件包,Arc的 ASP.NET 核心集成;在从一个专门的软件包页面查看这个README时,使用该软件包的表单和参考文档进行自己的安装范围.

使用由Arc当前声明的.NET SDK global.json创建 ASP.NET 核心项目和安装软件包:

dotnet new web -n MyApp
cd MyApp
dotnet add package Cratis.Arc

替换 Program.cs 运行主机 :

var builder = WebApplication.CreateBuilder(args);
builder.AddCratisArc();

var app = builder.Build();
app.UseCratisArc();
await app.RunAsync();

启动主机确认基本的Arc设置. 适用于没有ASP.NET的工人、控制台或服务 核心,轻量级主机是 ArcApplication.CreateBuilder(args) 从单独的 Cratis.Arc.Core 软件包; 不将其与 Cratis.Arc,其ASP.NET 它没有注册核心服务。 见 以轻量级主机开始继续 弧文档,并使用 GitHub 问题 当观察到的行为与文档不符时.

软件包和仓库布局

表面作用
Cratis.Arc 编号 : Cratis.Arc.Core.NET托管、指挥/管道、验证、身份、租赁、HTTP、内测和应用惯例
Cratis.Arc.ProxyGenerator.Build用于公认应用文物的构建时 TypeScript 代理生成
Cratis.Arc.MongoDB 编号 : Cratis.Arc.EntityFrameworkCore*可选的电流状态持久性和观测适配器
Cratis.Arc.Chronicle可选事件源指令、预测、减少、聚合、反应堆、租赁和合规一体化
Cratis.Arc.OpenApi 编号 : Cratis.Arc.Swagger用于Arc概念和终点的可选 OpenAPI 文档转换
Cratis.Arc.Testing 编号 : Cratis.Arc.Chronicle.Testing命令事件和可选的纪事事件/读取-模型测试助手
@cratis/arcTypeScript 命令, 查询, 验证, 身份, 以及生成代理所用的消息运行时间
@cratis/arc.reactArc 合同的反钩、表单、对话框、身份、信件和查询组成
@cratis/arc.react.mvvm可选反应/MVVM和依赖性注射融合
@cratis/arc.vite 编号 : @cratis/eslint-plugin-arcVite 元数据/ query 助手和 Arc 专用前端林特规则
Source/DotNET.NET 框架来源
Source/JavaScript类型脚本和反应包源
Documentation在cratis.io上提供产品自有文件
Samples仓库检查使用的样本和整合应用程序

软件包的存在并不意味着与每个前端,运行时间,持久性提供者,或产品版本相兼容. 检查您使用的版本的软件包清单和文件.

文件地图

捐款

Arc是一个框架-图书馆寄存器. 对公共API的修改,分析器,生成出输出,以及包形可以影响消费者,需要自有寄存器的相容性和放出审查.

仓库开发目前需要 SDK 和工具链版本,由 global.json 财务报告和审定财务报表 package.json。跟踪 克拉蒂斯捐款指南 和本存储库的项目背景AGENTS.md 在改变公共表面之前.

在提交仅限文件的工作之前,明确核查其链接、锚地和实例;当前自动文件检查是路径扫描。 源更改必须经过自有寄存器的可应用构建,规格,TypeScript,以及文档门.

  • .NET SDK 10.0.400+ (韩语). Arc 分析器和源生成器已经建成 对罗斯林5.9.0, 船与.NET SDK 10.0.400 和更新的。 在更古老的SDK频段上,编译器 拒绝加载(CS9057),沉默地使代理生成和ARC*/ARCCHR*分析器失效. 拥有 Cratis.Arc 软件包带同一层。 升起这层楼是一个小的版本起伏.
  • 节点 23+
  • 雅伦

Trim 和 原生AOT 诊断

Arc尚不相容(#2204号) (中文(简体) ). 调取更改请求 Source/DotNET 运行一个建立 Cratis.Arc.Core, (中文(简体) ), Cratis.Arc, (中文(简体) ), Cratis.Arc.MongoDB, (中文(简体) ), Cratis.Arc.EntityFrameworkCore 财务报告和审定财务报表 Cratis.Arc.Chronicle 将每个代码、文件和目标框架的诊断与 Source/DotNET/aot-baseline.json在添加诊断或修剪/AOT抑制时,以及在不缩小基线的情况下去除时,则失效。 用 Python 3 和 .NET SDKs 本地运行 :

python3 scripts/aot-ratchet.py           # compare with the baseline
python3 scripts/aot-ratchet.py --update  # rewrite the baseline after fixing diagnostics, then commit it

通过取代不安全的道路而不是压制它来修复新的诊断. 分析船与. NET SDK,所以运行 --update 与SDK global.json 选择,像 CI 那样;基准记录它制作的 SDK 版本。 当一个新的 SDK 改变分析器报告的内容时, 以 --update 在自己的拉力请求。 正常构造不受影响; 分析器只在脚本通过时运行 CratisAotAnalysis=true项目由进口涵盖 Source/DotNET/AotAnalysis.props,则脚本发现,运行失败,除非每个覆盖的项目报告每个目标框架。 MongoDB、EF核心和纪事集成按当前计数进行,直至附加注释 [RequiresUnreferencedCode] 财务报告和审定财务报表 [RequiresDynamicCode]。 。 。 .

社区和储存处

路径目标
问题和讨论克拉蒂斯迪斯科尔
错误和特性请求GitHub 问题
释放GitHub 发布
文档www.cratis.io/arc (中文(简体) )
博客校对:soup
安保报告私营安保报告
许可证LICENSE

克拉蒂斯生态系统

弧为 克拉蒂斯语Name ——构建事件源代码和CQRS应用程序的平台.

  • 纪事 ——事件外包数据库和运行时间. 基于奥尔良的内核,可插件存储(MongoDB默认;PostgreSQL,SQL服务器,SQLite, in-memory),语言-不可知GRPC合同. 文档
  • 纪事客户端 一等舱 .NET SDK 软件附加时 类型脚本, (中文(简体) ), 科特林/贾瓦,以及 埃利克斯尔· ; 蟒 马上就来 人工智能代理通过 纪事 MCP 服务器。 。 。 .
  • 弧形 (这个储存库)——对ASP.NET的CQRS框架有意见 核心包含命令,查询,验证,授权,以及TypeScript代理生成. 工作没有活动来源. 文档
  • 构成部分 ——反应组件与Arc图案一致. 文档
  • 国 际 + 工作台 ——从终端或浏览器检查和诊断"纪事". 文档
  • 第一层模型 - 工作室, - 工作室, 剧本, (中文(简体) ), 阶段, (中文(简体) ), 场景, (中文(简体) ), 方案
  • 支助 —— 说 基本要素, (中文(简体) ), 规格, (中文(简体) ), 概要, (中文(简体) ), 镜头, (中文(简体) ), 叙述者免费 AI 工具; 即将到来
  • 样本 整个堆栈的可运行事件来源和CQRS样本

Arc是麻省理工学院的许可,可以自由使用. 其他Cratis产品有自己的许可证和准入条件.

发布说明和通知: 克拉提斯博客。 。 。 .

版本与发布记录

@cratis/arc.react.mvvm 共发布 660 个版本,首次发布于 2025/11/30;过去 12 个月发布了 660 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
22.184.0latest2026/11/10今天
22.183.02026/11/10今天
22.182.12026/11/101 天前
22.182.02026/11/101 天前
22.180.02026/11/101 天前
22.179.02026/11/091 天前

关于 @cratis/arc.react.mvvm 的常见问题

@cratis/arc.react.mvvm 是什么?

Cratis Arc的回放MVM集成——取景模型,依赖注入,路由参数,和ASP.NET Core上CQRS应用的浏览器抽象.

如何安装 @cratis/arc.react.mvvm?

在项目目录运行 npm install @cratis/arc.react.mvvm,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18.0.0 || ^19.0.0)、react-dom(^18.0.0 || ^19.0.0)、react-router-dom(^7.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@cratis/arc.react.mvvm 支持 TypeScript 吗?

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

@cratis/arc.react.mvvm 支持 ESM 还是 CommonJS?

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

@cratis/arc.react.mvvm 可以商用吗?

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

@cratis/arc.react.mvvm 的下载量有多少?

根据 npm 官方下载统计,@cratis/arc.react.mvvm 在 2026/10/11 – 2026/11/09 这 30 天内被下载 33,926 次,日均约 1,131 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cratis/arc.react.mvvm 还在维护吗?

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