【问题标题】:How to update chokidar files selection correctly without declaring new variable?如何在不声明新变量的情况下正确更新 chokidar 文件选择?
【发布时间】:2018-12-07 10:43:09
【问题描述】:

假设我们创建了 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);

【问题讨论】:

    标签: node.js chokidar


    【解决方案1】:

    我不详细了解 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
    

    【讨论】:

      猜你喜欢
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-26
      • 2011-10-02
      • 1970-01-01
      相关资源
      最近更新 更多