如何在不声明新变量的情况下正确更新chokidar文件选择?

时间:2018-12-07 10:43:10

标签: node.js chokidar

假定我们创建了chokidar实例,但是随后应注意的文件选择已更改。如果我不想创建新变量,仅将具有新文件选择的新chokidar watcher分配给同一变量就足够了吗?当然,在下面的代码中,我希望不再filesSelection1被监视。

let filesSelection1 = 'test/files/selection/1/**.*';
let filesSelection2 = 'test/files/selection/2/**.*';

let stylesWatcher = chokidar.watch(filesSelection1);

// is it correct?
stylesWatcher = chokidar.watch(filesSelection2);

1 个答案:

答案 0 :(得分:0)

我不了解 chokidar (以及NodeJS流)的详细实现,但是经过一些实验,我了解到以下代码中的stylesWatcher = null不会终止监视:

let stylesWatcher = chokidar.watch(filesSelection1);
stylesWatcher = null;

如果您要更新 chokidar 观看者而不进行观看将终止,则以下代码通过了测试:

let stylesWatcher = chokidar.watch(filesSelection1);
let bufferedOldWatcher = stylesWatcher;
stylesWatcher = chokidar.watch(filesSelection2);
bufferedOldWatcher.close(); // now we can close watching on old instance