首页 > 解决方案 > 使用 chokidar 监视文件,参数“忽略”的正则表达式无效

问题描述

我正在使用 chokidar 来观看以 (.js|.jsx|.scss) 结尾的文件,如下所示,但 RegEx 不起作用。如果只是运行/^(?!.*(?:\.jsx?|\.scss)$).*$/,它工作正常。

const watcher = chokidar.watch('./app', {
      ignored: /^(?!.*(?:\.jsx?|\.scss)$).*$/,
      ignoreInitial: true,
      persistent: true
})

标签: javascriptnode.jsregexchokidar

解决方案


chokidar 监视文件,也监视路径。所以/^(?!.*(?:\.jsx?|\.scss)$).*$/会忽略不以 .js/jsx/.scss 结尾的文件,但也会忽略所有路径。为了解决这个问题,我使用下面的 RegEx:

/^(?=.*(\.\w+)$)(?!.*(?:\.jsx?|\.scss)$).*$/

推荐阅读