0

假设我们创建了 chokidar 实例,但是应该监视的文件选择已经改变。如果我不想创建新变量,只需将具有新文件选择的新 chokidar 观察程序分配给同一变量就足够了吗?当然,在下面的代码中,我希望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);
4

1 回答 1

0

我不详细了解chokidar(和 NodeJS 流)实现,但经过一些实验后,我了解到stylesWatcher = null在下面的代码中不会终止观看:

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

如果你想更新chokidar watcher 而不看会被终止,下面的代码通过了测试:

let stylesWatcher = chokidar.watch(filesSelection1);
let bufferedOldWatcher = stylesWatcher;
stylesWatcher = chokidar.watch(filesSelection2);
bufferedOldWatcher.close(); // now we can close watching on old instance
于 2018-12-21T11:04:50.377 回答