快速地图
jest-haste-map 是Jest,一个受欢迎的JavaScript测试框架,用来创建项目中快速查找文件的模块. 它帮助Jest在测试过程中高效地定位并跟踪文件的更改,使得它对于拥有许多文件的大项目特别有用.
为什么要开玩笑?
- 平行爬行和分析: jest-haste-map 爬行整个项目, 提取依赖性, 并分析文件平行 跨工人过程。 这可以大大地改善地图建设过程的性能.
- 缓存文件系统 : jest-haste-map在内存和磁盘中保存文件系统的缓存. 这允许快速文件相关操作,例如解决模块导入和检查更改.
- 最小工作数: jest-haste-map 只在文件更改时进行最小工作量的必要工作. 使用时 观察者 (为大型工程推荐),杰斯德要求监视员更改文件,而不是爬行文件系统. 没有监视者, @ parcel/ 监视器 它为平台选择最好的本土后端(
fs-events在macOS上,inotify在Linux上,windows)),在视窗上. - 文件系统监视 : jest-haste-map可以监视文件系统进行更改. 这有利于构建交互式工具,例如监视模式.
安装
以 npm 为单位 :
npm install jest-haste-map --save-dev
有线条 :
yarn add jest-haste-map --dev
使用量
jest-haste-map 两者都兼容 ES modules 财务报告和审定财务报表 CommonJS
简单使用
const map = new HasteMap.default({
// options
});
示例使用( 将所有文件与工程中的. js 扩展)
import HasteMap from 'jest-haste-map';
import os from 'os';
import {dirname} from 'path';
import {fileURLToPath} from 'url';
const root = dirname(fileURLToPath(import.meta.url));
const map = new HasteMap.default({
id: 'myproject', //Used for caching.
extensions: ['js'], // Tells jest-haste-map to only crawl .js files.
maxWorkers: os.availableParallelism(), //Parallelizes across all available CPUs.
platforms: [], // This is only used for React Native, you can leave it empty.
roots: [root], // Can be used to only search a subset of files within `rootDir`
retainAllFiles: true,
rootDir: root, //The project root.
});
const {hasteFS} = await map.build();
const files = hasteFS.getAllFiles();
console.log(files);
选项
| 选项 | 类型 | 需求 | 默认值 |
|---|---|---|---|
| 缓存目录 | 字符串 | 没有 | os.tmpdir() |
| 计算依赖性 | 布尔 | 没有 | true |
| 计算Sha1 | 布尔 | 没有 | false |
| 控制台 | 控制台 | 没有 | - 说吧 |
| 依赖 extractor | 字符串 qq 无效 | 没有 | null |
| 启用系统链接 | 布尔 | 没有 | false |
| 扩展 | 矩阵 < string > | 对 | - 说吧 |
| 强制节点系统API | 布尔 | 没有 | false |
| 匆忙 ImplModulePath 软件 | 字符串 | 没有 | - 说吧 |
| 快速移动模块Path | 字符串 | 没有 | - 说吧 |
| 编号 | 字符串 | 对 | - 说吧 |
| 忽略标签 | 仓促RegExp | 没有 | - 说吧 |
| 最大工人数 | 编号 | 对 | - 说吧 |
| 模拟 | 字符串 | 没有 | - 说吧 |
| 平台 | 矩阵 < string > | 对 | - 说吧 |
| 重置缓存 | 布尔 | 没有 | - 说吧 |
| 保留全部文件 | 布尔 | 对 | - 说吧 |
| rootDir 函数 | 字符串 | 对 | - 说吧 |
| 树根 | 矩阵 < string > | 对 | - 说吧 |
| 跳过PackageJson | 布尔 | 没有 | false |
| 丢入模块组合 | 布尔 | 没有 | false |
| 使用监视器 | 布尔 | 没有 | true |
更多,你可以检查 gi