监视选项
你可以配置 TypeScript --watch 的工作方式。本节主要用于处理 fs.watch 和 fs.watchFile 存在额外限制(如在 Linux 上)的情况。你可以在配置监视中阅读更多内容。
watchFile
允许的值:
fixedpollinginterval、prioritypollinginterval、dynamicprioritypolling、fixedchunksizepolling、usefsevents、usefseventsonparentdirectory发布版本: 3.8
监视单个文件的策略。
fixedPollingInterval:以固定间隔每秒检查每个文件几次是否有变化。priorityPollingInterval:每秒检查每个文件几次是否有变化,但使用启发式方法比其他类型的文件更少检查某些类型的文件。dynamicPriorityPolling:使用动态队列,其中修改频率较低的文件将被较少地检查。useFsEvents(默认):尝试使用操作系统/文件系统的原生事件来检测文件更改。useFsEventsOnParentDirectory:尝试使用操作系统/文件系统的原生事件来监听文件所在父目录的变化。
watchDirectory
允许的值:
usefsevents、fixedpollinginterval、dynamicprioritypolling、fixedchunksizepolling发布版本: 3.8
在缺乏递归文件监视功能的系统上监视整个目录树的策略。
fixedPollingInterval:以固定间隔每秒检查每个目录几次是否有变化。dynamicPriorityPolling:使用动态队列,其中修改频率较低的目录将被较少地检查。useFsEvents(默认):尝试使用操作系统/文件系统的原生事件来检测目录更改。
fallbackPolling
允许的值:
fixedinterval、priorityinterval、dynamicpriority、fixedchunksize发布版本: 3.8
当使用文件系统事件时,此选项指定当系统用完原生文件监视器和/或不支持原生文件监视器时使用的轮询策略。
fixedPollingInterval:以固定间隔每秒检查每个文件几次是否有变化。priorityPollingInterval:每秒检查每个文件几次是否有变化,但使用启发式方法比其他类型的文件更少检查某些类型的文件。dynamicPriorityPolling:使用动态队列,其中修改频率较低的文件将被较少地检查。synchronousWatchDirectory:禁用目录的延迟监视。当可能同时发生大量文件更改时(例如,运行npm install导致node_modules中的更改),延迟监视很有用,但对于一些不太常见的设置,你可能希望使用此标志禁用它。
synchronousWatchDirectory
- 发布版本: 3.8
在不原生支持递归监视的平台上,同步调用回调并更新目录监视器的状态。而不是给出一个小的超时以允许文件上可能发生多次编辑。
json
{
"watchOptions": {
"synchronousWatchDirectory": true
}
}excludeDirectories
- 发布版本: 4.2
你可以使用 excludeFiles 来大幅减少 --watch 期间监视的文件数量。这可以是减少 TypeScript 在 Linux 上跟踪的打开文件数量的有用方法。
json
{
"watchOptions": {
"excludeDirectories": ["**/node_modules", "_build", "temp/*"]
}
}excludeFiles
- 发布版本: 4.2
你可以使用 excludeFiles 从被监视的文件中移除一组特定的文件。
json
{
"watchOptions": {
"excludeFiles": ["temp/file.ts"]
}
}