# @commerce-klaus/vitest-sfcc 中文文档

规范地址：https://npmcn.com/package/%40commerce-klaus/vitest-sfcc/

版本：1\.1\.2
npm 元数据更新时间：2026-10-30T09:10:56.643Z
中文译文更新时间：2026-11-10T14:12:41.261Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40commerce-klaus/vitest-sfcc
原文对照：https://npmcn.com/package/%40commerce-klaus/vitest-sfcc/?lang=original
项目主页：https://commerce-klaus.github.io/commerce-klaus/packages/vitest-sfcc/
源码仓库：https://github.com/commerce-klaus/commerce-klaus

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

- 包体积（解压后）：79.7 kB，11 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：5 个
- peer 依赖：vite \>=5\.0\.0，vitest \>=2\.0\.0
- 首次发布：2026-09-03T12:36:11.462Z
- 最新版本发布：2026-10-30T09:10:55.463Z
- 近 30 天下载量：2124（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 12 个）

## 中文简介

Cartridge- 意识 SFCC 运行时间和对Vitest的依赖性嘲弄

## 安装

```sh
npm install @commerce-klaus/vitest-sfcc
```

也可以使用：`pnpm add @commerce-klaus/vitest-sfcc`、`yarn add @commerce-klaus/vitest-sfcc`、`bun add @commerce-klaus/vitest-sfcc`

## README

[![NPM version](https://badgen.net/npm/v/@commerce-klaus/vitest-sfcc)](https://www.npmjs.com/package/@commerce-klaus/vitest-sfcc) [![Downloads](https://badgen.net/npm/dw/@commerce-klaus/vitest-sfcc)](https://www.npmjs.com/package/@commerce-klaus/vitest-sfcc)

# @commercial-klaus/vitest-sfcc (英语)

Cartridge-aware SFCC运行时间和依赖性为Vitest取笑.

## 要点

-   决定: `dw/*`, (中文(简体) ), `*/`, (中文(简体) ), `~/`、弹匣别名、相干模块和 `module.superModule`
-   从配置、环境、, `jsconfig`,或 `site.xml`
-   通过中央架构任务过滤测试墨盒路径
-   提供可打字、可检查的SFCC Globals和有重点的运行时间模块和利用
-   装入有效的自定义 API 操作 `api.json` 和美洲组织元数据
-   从项目元数据装入有效的钩子, 并按键引用已知的 Salesforce 钩子
-   替换模块依赖性,不用 `proxyquire`
-   通过运行时间 API 和类型 `@commerce-klaus/vitest-sfcc/runtime`

## 何时使用此软件包

当弹匣代码必须在Vitest运行时使用此包. 它包括SFCC模块 分辨率, 普通JS 转换, 平台模块倒置, 依赖 嘲弄, 和测试绳子.

使用 [`@commerce-klaus/vite-plugin-sfcc-modules`](https://commerce-klaus.github.io/commerce-klaus/packages/vite-plugin-sfcc-modules/) 仅当基于 Vite 的其他工具不需要墨盒意识模块解析时 测试运行时间。 您不需要同时安装或配置此插件 `vitest-sfcc`。 。 。 .

## 安装

```bash
pnpm add -D @commerce-klaus/vitest-sfcc vitest
```

```bash
npm install -D @commerce-klaus/vitest-sfcc vitest
```

```bash
yarn add -D @commerce-klaus/vitest-sfcc vitest
```

```bash
vp install -D @commerce-klaus/vitest-sfcc vitest
```

## 使用量

```ts
import sfccVitest from "@commerce-klaus/vitest-sfcc"
import { defineConfig } from "vite-plus"

export default defineConfig({
  plugins: [
    sfccVitest({
      basePath: "./cartridges",
      cartridgePath: ["app_custom", "app_storefront_base"],
    }),
  ],
})
```

在动态导入受抚养人之前, 登记受抚养人的替换 :

```ts
import { getSfccRuntime } from "@commerce-klaus/vitest-sfcc"

getSfccRuntime().mock("*/cartridge/scripts/provider", providerMock)
const subject = await import("../cartridge/scripts/subject.js")
```

轻量级子路径也提供仅运行时间的API和类型:

```ts
import { resetSfccRuntime, type SfccModule } from "@commerce-klaus/vitest-sfcc/runtime"
```

装入由自定义 API 元数据和墨盒优先级选择的执行 :

```ts
import { loadSfccCustomApi } from "@commerce-klaus/vitest-sfcc"

const api = await loadSfccCustomApi("products", "getProduct")
const result = await api.invoke({
  pathParameters: { productId: "sample-product" },
})
```

装入并引用由 `hooks.json` 和弹匣优先位置 :

```ts
import { loadSfccHook } from "@commerce-klaus/vitest-sfcc"

const hook = await loadSfccHook("app.payment.authorize")
const result = hook.call("authorize", "payment-1")
```

消费者项目只需要安装 `@commerce-klaus/vitest-sfcc`; 其编号 独立运行时间仍然是内部依赖.

## 文档

见 [完整的配置和测试参考](https://commerce-klaus.github.io/commerce-klaus/packages/vitest-sfcc/)。 。 。 .

## 许可证

麻省理工学院

## 常见问题

### @commerce-klaus/vitest-sfcc 是什么？

Cartridge- 意识 SFCC 运行时间和对Vitest的依赖性嘲弄

### 如何安装 @commerce-klaus/vitest-sfcc？

在项目目录运行 npm install @commerce-klaus/vitest-sfcc，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：vite（\>=5\.0\.0）、vitest（\>=2\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @commerce-klaus/vitest-sfcc 支持 TypeScript 吗？

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

### @commerce-klaus/vitest-sfcc 支持 ESM 还是 CommonJS？

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

### @commerce-klaus/vitest-sfcc 可以商用吗？

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

### @commerce-klaus/vitest-sfcc 的下载量有多少？

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

### @commerce-klaus/vitest-sfcc 还在维护吗？

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

