# @file-services/overlay 中文文档

规范地址：https://npmcn.com/package/%40file-services/overlay/

版本：11\.1\.1
npm 元数据更新时间：2026-08-07T07:31:56.680Z
中文译文更新时间：2026-11-14T17:43:02.928Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40file-services/overlay
原文对照：https://npmcn.com/package/%40file-services/overlay/?lang=original
项目主页：https://github.com/dazl-dev/file-services
源码仓库：https://github.com/dazl-dev/file-services

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

- 包体积（解压后）：38.3 kB，11 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：2 个
- 首次发布：2019-03-19T00:32:53.707Z
- 最新版本发布：2026-07-09T10:36:24.873Z
- 近 30 天下载量：12936（2026-10-15 至 2026-11-13，npm 官方下载统计）
- 已发布版本数：59（近 12 个月 2 个）

## 中文简介

从一个文件系统上覆盖另一个文件系统的文件和目录.

## 安装

```sh
npm install @file-services/overlay
```

也可以使用：`pnpm add @file-services/overlay`、`yarn add @file-services/overlay`、`bun add @file-services/overlay`

## README

# @ file- services/ 覆盖

从一个文件系统上覆盖另一个文件系统的文件和目录.

## 动机

重叠文件系统允许取取一个本地节点文件系统("lower fs"),并取取取一个内膜文件系统("higher fs")的文件和目录. 它可以作为虚拟地层来提供存储和操纵临时数据的解决方案.

## 行为

读取操作( E)`readFile`, (中文(简体) ), `readdir`, (中文(简体) ), `stat`等)正在先检查高分数,再倒向下分数数.

目前,所有写作操作直接到原下方的fs.

## 开始

在工程中安装库 :

```sh
npm i @file-services/overlay
```

然后,使用方案API:

```ts
import { createOverlayFs } from "@file-services/overlay";
import { createMemoryFs } from "@file-services/memory";
import { nodeFs } from "@file-services/node";

const memFs = createMemoryFs({
  src: {
    "a.txt": `A`,
    "b.txt": `B`,
  },
});

const overlayFs = createOverlayFs(nodeFs /* lower fs */, memFs /* higher fs */);

// overlayFs.readFileSync('src/a.txt', 'utf8') === 'A'
```

`createOverlayFs` 也接受目录路径作为第三个参数,该参数指定了下 fs 中的哪个目录应当被覆盖(默认为 `lowerFs.cwd()`) (中文(简体) ). 当将一个内存 fs 覆盖到本地节点 fs 上并在 Windows 上运行时,这一点很重要. 内存 fs 使用 posix 风格的路径, 因此基础目录是内存根的位置 `/` 开始覆盖.

## 许可证

麻省理工学院

## 常见问题

### @file-services/overlay 是什么？

从一个文件系统上覆盖另一个文件系统的文件和目录\.

### 如何安装 @file-services/overlay？

在项目目录运行 npm install @file-services/overlay，或使用 pnpm add / yarn add / bun add。

### @file-services/overlay 支持 TypeScript 吗？

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

### @file-services/overlay 支持 ESM 还是 CommonJS？

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

### @file-services/overlay 可以商用吗？

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

### @file-services/overlay 的下载量有多少？

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

### @file-services/overlay 还在维护吗？

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

