相同的模式适用于 chokidar-cli,但不适用于 windows 上的 chokidar

The same pattern works with chokidar-cli but does not work with chokidar on windows

您好,我正在尝试在 Windows 上设置 chokidar。我必须使用 chokidar-cli 来处理它,这是正确报告事件的命令行:

 chokidar "D:\PATH\**\WATCHED_FOLDER\*.TXT"

但是当我尝试用 node index.js 做同样的事情时,使用下面的代码,事件没有被报告。

const chokidar = require('chokidar');
chokidar
    .watch('D:\PATH\**\WATCHED_FOLDER\*.TXT')
    .on('all', (event, path) => {
        console.log(event, path)
    })

我想知道为什么相同的 glob 表达式在命令行中有效,而在 javascript 中却无效。我也没有找到关于 chokidar 在 Windows.

上接受的语法的参考

有人可以指出这里的问题吗?谢谢。

虽然 chokidar-cli 使用反斜杠,但 chokidar 需要在 glob 路径中使用正斜杠。这有效:

const chokidar = require('chokidar');
chokidar
    .watch('D:/PATH/**/WATCHED_FOLDER/*.TXT')
    .on('all', (event, path) => {
        console.log(event, path)
    })

但请注意,变量 path 中的字符串仍然带有反斜杠:例如'D:\PATH\SUBFOLDER\WATCHED_FOLDER\TEST.TXT'。这有点不一致,但它有效。