@ file- services/ 覆盖
从一个文件系统上覆盖另一个文件系统的文件和目录.
动机
重叠文件系统允许取取一个本地节点文件系统("lower fs"),并取取取一个内膜文件系统("higher fs")的文件和目录. 它可以作为虚拟地层来提供存储和操纵临时数据的解决方案.
行为
读取操作( E)readFile, (中文(简体) ), readdir, (中文(简体) ), stat等)正在先检查高分数,再倒向下分数数.
目前,所有写作操作直接到原下方的fs.
开始
在工程中安装库 :
npm i @file-services/overlay
然后,使用方案API:
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 风格的路径, 因此基础目录是内存根的位置 / 开始覆盖.
许可证
麻省理工学院