718 words
4 minutes
TSConfig 监视选项配置
2025-02-27 10:49:46
2025-02-27 15:33:13

← 返回 TSConfig 参考指南


你可以配置 TypeScript 的 —watch 工作方式。本节主要用于处理 fs.watch 和 fs.watchFile 在 Linux 等系统上有额外限制的情况。你可以在 [配置监视](Configuring Watch) 中了解更多信息。

watchFile - 监视文件#

配置监视单个文件的策略。

  • fixedPollingInterval:以固定的时间间隔每秒多次检查每个文件的变化。
  • priorityPollingInterval:每秒多次检查每个文件的变化,但使用启发式算法来降低某些类型文件的检查频率。
  • dynamicPriorityPolling:使用动态队列,较少修改的文件将被较少检查。
  • useFsEvents(默认值):尝试使用操作系统/文件系统的原生事件来监测文件变化。
  • useFsEventsOnParentDirectory:尝试使用操作系统/文件系统的原生事件来监听文件的父目录变化。

允许的值:

  • fixedpollinginterval
  • prioritypollinginterval
  • dynamicprioritypolling
  • fixedchunksizepolling
  • usefsevents
  • usefseventsonparentdirectory

发布版本:3.8

watchDirectory - 监视目录#

在缺乏递归文件监视功能的系统上,配置整个目录树的监视策略。

  • fixedPollingInterval:以固定的时间间隔每秒多次检查每个目录的变化。
  • dynamicPriorityPolling:使用动态队列,较少修改的目录将被较少检查。
  • useFsEvents(默认值):尝试使用操作系统/文件系统的原生事件来监测目录变化。

允许的值:

  • usefsevents
  • fixedpollinginterval
  • dynamicprioritypolling
  • fixedchunksizepolling

发布版本:3.8

fallbackPolling - 轮询回退#

当使用文件系统事件时,此选项指定在系统用完原生文件监视器和/或不支持原生文件监视器时使用的轮询策略。

  • fixedPollingInterval:以固定的时间间隔每秒多次检查每个文件的变化。
  • priorityPollingInterval:每秒多次检查每个文件的变化,但使用启发式算法来降低某些类型文件的检查频率。
  • dynamicPriorityPolling:使用动态队列,较少修改的文件将被较少检查。
  • synchronousWatchDirectory:禁用目录的延迟监视。延迟监视在可能同时发生大量文件更改时很有用(例如运行 npm install 时 node_modules 的变化),但在某些不太常见的设置中,你可能想要使用此标志禁用它。

允许的值:

  • fixedinterval
  • priorityinterval
  • dynamicpriority
  • fixedchunksize

发布版本:3.8

synchronousWatchDirectory - 同步监视目录#

在不支持原生递归监视的平台上,同步调用回调并更新目录监视器的状态。这样做是为了不给文件的多次编辑提供一个小的超时时间。

{ "watchOptions": { "synchronousWatchDirectory": true } }

发布版本:3.8

excludeDirectories - 排除目录#

你可以使用 excludeFiles 来大幅减少在 —watch 期间被监视的文件数量。这在 Linux 上可以有效减少 TypeScript 跟踪的打开文件数量。

{ "watchOptions": { "excludeDirectories": ["**/node_modules", "_build", "temp/*"] } }

发布版本:4.2

excludeFiles - 排除文件#

你可以使用 excludeFiles 来从被监视的文件集合中移除特定的文件。

{ "watchOptions": { "excludeFiles": ["temp/file.ts"] } }

发布版本:4.2

TSConfig 监视选项配置
https://0bipinnata0.my/posts/typescript/tsconfig/13-watch-options/
Author
0bipinnata0
Published at
2025-02-27 10:49:46