# @cratis/arc\.vite 中文文档

规范地址：https://npmcn.com/package/%40cratis/arc.vite/

版本：22\.184\.0
npm 元数据更新时间：2026-11-10T08:33:15.905Z
中文译文更新时间：2026-11-10T23:17:04.553Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40cratis/arc.vite
原文对照：https://npmcn.com/package/%40cratis/arc.vite/?lang=original
项目主页：https://www.cratis.io/arc/
源码仓库：https://github.com/Cratis/Arc

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

- 包体积（解压后）：356 kB，117 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：4 个
- peer 依赖：vite ^6\.0\.0 \|\| ^7\.0\.0 \|\| ^8\.0\.0，react ^18\.0\.0 \|\| ^19\.0\.0
- 首次发布：2025-11-29T16:43:57.693Z
- 最新版本发布：2026-11-10T08:33:15.453Z
- 近 30 天下载量：38884（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：660（近 12 个月 660 个）

## 中文简介

Cratis Arc应用程序的Vite帮助器——用于ASP.NET Core的 CQRS框架所生成的TypeScript代理的元数据和查询插件.

## 安装

```sh
npm install @cratis/arc.vite
```

也可以使用：`pnpm add @cratis/arc.vite`、`yarn add @cratis/arc.vite`、`bun add @cratis/arc.vite`

## README

* * *

## 标题:" 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 组件是可选集成. 免费 [人工智能技能](https://github.com/Cratis/AI) 为与堆栈一起建造提供指导.

[![NuGet](https://img.shields.io/nuget/v/Cratis.Arc?logo=nuget)](https://www.nuget.org/packages/Cratis.Arc) [![NPM](https://img.shields.io/npm/v/@cratis/arc?label=@cratis/arc&logo=npm)](https://www.npmjs.com/package/@cratis/arc) [![.NET Build](https://github.com/Cratis/Arc/actions/workflows/dotnet-build.yml/badge.svg)](https://github.com/Cratis/Arc/actions/workflows/dotnet-build.yml) [![JavaScript Build](https://github.com/Cratis/Arc/actions/workflows/javascript-build.yml/badge.svg)](https://github.com/Cratis/Arc/actions/workflows/javascript-build.yml)

## 从这里开始

-   [浏览Arc文档](https://www.cratis.io/arc/)
-   [读取Arc存在的原因](https://github.com/Cratis/Arc/blob/main/Documentation/why-arc.md)
-   [绘制 MedietR 和 MVC 的熟悉概念](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/coming-from-mediatr-and-mvc.md)
-   [尝试可运行的样本](https://github.com/Cratis/Samples) - 包括Idea Loom和图书馆
-   [选择有文档的应用程序路径](https://npmcn.com/package/%40cratis/arc.vite/#readme-choose-a-path)
-   [理解Arc的独立边界](https://npmcn.com/package/%40cratis/arc.vite/#readme-arc-does-not-require-event-sourcing)
-   [启动 Arc 主机](https://npmcn.com/package/%40cratis/arc.vite/#readme-start-an-arc-host)
-   [检查软件包和仓库布局](https://npmcn.com/package/%40cratis/arc.vite/#readme-packages-and-repository-layout)

## 亚克拥有的

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

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

## 选择路径

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

-   [执行命令](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/commands/index.md) ——以模型为主或以控制器为主的改变,管线,验证,授权,过滤,以及反应处理.
-   [从内置副作用中分离命令决定](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/commands/operations/index.md) ——更喜欢在模式约束命令中已经决定的工作,可选的最佳补偿. 直接服务呼叫仍然支持;操作不需要"纪事"或前端恢复代码.
-   [公开查询和可观测结果](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/queries/index.md) 请求/答复读取、呼呼、排序、流出更新、诊断和生成客户端.
-   [构建前端](https://github.com/Cratis/Arc/blob/main/Documentation/frontend/index.mdx) ——TypeScript运行时间,反应钩和形式,对话框,身份,消息,以及可选的MVVM包.
-   [配置身份和访问](https://github.com/Cratis/Arc/blob/main/Documentation/understanding-identity-and-access.mdx) ——认证,身份细节,授权,角色,以及前端能见度边界.
-   [解决租户问题](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/tenancy/index.md) ——请求解析者,范围化租户上下文,以及提供商特有的数据库或命名空间映射.
-   [使用当前状态持久性](https://github.com/Cratis/Arc/blob/main/Documentation/arc-without-event-sourcing.mdx) - 应用程序服务、MongoDB或实体框架 核心不需要事件日志.
-   [添加纪事事件来源](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/chronicle/index.md) ——事件,预测,还原器,总量,反应堆,货币,以及"纪事"特有测试.
-   [检查并验证应用程序边界](https://github.com/Cratis/Arc/blob/main/Documentation/backend/csharp/introspection/index.md) ——内向,OpenAPI,分析器,生成元数据,以及命令情景.

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

## Arc 不需要事件源代码

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

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

[纪事](https://github.com/Cratis/Chronicle) 是克拉蒂斯的存储-不可知事件包数据库和运行时间——麻省理工学院获得许可并可自由使用;见 [纪事文档](https://www.cratis.io/chronicle/) 为它自己的范围和设置.

## 与组件的关系

组件是一个与Arc应用模式一致的React组件库. 见 [组成部分文件](https://www.cratis.io/components/) 它的包和设置.

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

## 启动 Arc 主机

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

使用由Arc当前声明的.NET SDK [`global.json`](https://github.com/Cratis/Arc/blob/main/global.json)创建 ASP.NET 核心项目和安装软件包:

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

替换 `Program.cs` 运行主机 :

```csharp
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 它没有注册核心服务。 见 [以轻量级主机开始](https://www.cratis.io/arc/backend/csharp/core/getting-started/)继续 [弧文档](https://www.cratis.io/arc/),并使用 [GitHub 问题](https://github.com/Cratis/Arc/issues) 当观察到的行为与文档不符时.

## 软件包和仓库布局

| 表面 | 作用 |
| --- | --- |
| `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/arc` | TypeScript 命令, 查询, 验证, 身份, 以及生成代理所用的消息运行时间 |
| `@cratis/arc.react` | Arc 合同的反钩、表单、对话框、身份、信件和查询组成 |
| `@cratis/arc.react.mvvm` | 可选反应/MVVM和依赖性注射融合 |
| `@cratis/arc.vite` 编号 : `@cratis/eslint-plugin-arc` | Vite 元数据/ query 助手和 Arc 专用前端林特规则 |
| [`Source/DotNET`](https://github.com/Cratis/Arc/tree/main/Source/DotNET) | .NET 框架来源 |
| [`Source/JavaScript`](https://github.com/Cratis/Arc/tree/main/Source/JavaScript) | 类型脚本和反应包源 |
| [`Documentation`](https://github.com/Cratis/Arc/tree/main/Documentation) | 在cratis.io上提供产品自有文件 |
| [`Samples`](https://github.com/Cratis/Arc/tree/main/Samples) | 仓库检查使用的样本和整合应用程序 |

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

## 文件地图

-   [弧文档](https://www.cratis.io/arc/)
-   [产品自有文件来源](https://github.com/Cratis/Arc/tree/main/Documentation)
-   [弧度释放](https://github.com/Cratis/Arc/releases)
-   [弧度问题](https://github.com/Cratis/Arc/issues)

## 捐款

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

仓库开发目前需要 SDK 和工具链版本,由 [`global.json`](https://github.com/Cratis/Arc/blob/main/global.json) 财务报告和审定财务报表 [`package.json`](https://github.com/Cratis/Arc/blob/main/package.json)。跟踪 [克拉蒂斯捐款指南](https://github.com/Cratis/.github/blob/main/contributing.md) 和本存储库的项目背景[`AGENTS.md`](https://github.com/Cratis/Arc/blob/main/AGENTS.md) 在改变公共表面之前.

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

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

### Trim 和 原生AOT 诊断

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

```shell
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]`。 。 。 .

## 社区和储存处

| 路径 | 目标 |
| --- | --- |
| 问题和讨论 | [克拉蒂斯迪斯科尔](https://discord.gg/kt4AMpV8WV) |
| 错误和特性请求 | [GitHub 问题](https://github.com/Cratis/Arc/issues) |
| 释放 | [GitHub 发布](https://github.com/Cratis/Arc/releases) |
| 文档 | [www.cratis.io/arc (中文(简体) )](https://www.cratis.io/arc/) |
| 博客 | [校对:soup](https://blog.cratis.io/) |
| 安保报告 | [私营安保报告](mailto:oss@cratis.io?subject=Security%3A) |
| 许可证 | [`LICENSE`](https://github.com/Cratis/Arc/blob/main/LICENSE) |

## 克拉蒂斯生态系统

弧为 [克拉蒂斯语Name](https://www.cratis.io/) ——构建事件源代码和CQRS应用程序的平台.

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

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

发布说明和通知: [克拉提斯博客](https://blog.cratis.io/)。 。 。 .

## 常见问题

### @cratis/arc\.vite 是什么？

Cratis Arc应用程序的Vite帮助器——用于ASP\.NET Core的 CQRS框架所生成的TypeScript代理的元数据和查询插件\.

### 如何安装 @cratis/arc\.vite？

在项目目录运行 npm install @cratis/arc\.vite，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：vite（^6\.0\.0 \|\| ^7\.0\.0 \|\| ^8\.0\.0）、react（^18\.0\.0 \|\| ^19\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @cratis/arc\.vite 支持 TypeScript 吗？

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

### @cratis/arc\.vite 支持 ESM 还是 CommonJS？

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

### @cratis/arc\.vite 可以商用吗？

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

### @cratis/arc\.vite 的下载量有多少？

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

### @cratis/arc\.vite 还在维护吗？

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

