首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略关注文件夹中Chokidar的文件

忽略关注文件夹中Chokidar的文件
EN

Stack Overflow用户
提问于 2015-02-15 12:45:07
回答 1查看 3.3K关注 0票数 0

我正在尝试使用Chokidar忽略文件夹中的特定文件。我确信忽略路径的语法是不正确的,但我似乎找不到问题所在。我已经尝试了字符串、globs和数组的所有组合。如果有人能给我指出正确的方向,我将不胜感激。

下面是这个问题的一个快速示例。我试图忽略ignore.js,但由于文件夹正在被监视,所以在写入和删除文件时都会执行console.log

代码语言:javascript
复制
    var chokidar = require('chokidar');
    var fs = require('fs');
    var path = require('path');

    var watcher = chokidar.watch('./test', {
      ignored: path.resolve('./test/ignore.js'), 
      persistent: true,
      ignoreInitial: true,
      alwaysState: true
    });

    watcher.on('all',console.log);

    setTimeout(function(){fs.writeFile('./test/ignore.js', 'w');}, 200);
    setTimeout(function(){fs.unlink('./test/ignore.js');}, 300);

谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2015-07-14 03:31:50

我倾向于同意@loganfsmyth的评论,即你的路径名是错误的。在我的应用程序中,我通过一个函数动态查找chokidar正在监控的文件夹。例如

代码语言:javascript
复制
Meteor.methods({
      getWatchFolder: function () {
          return watchFolder;
      },
});

我在其他地方设置了watchFolder,这在这个问题的上下文中并不重要,但假设它返回"/tmp“。这很好用,并且忽略了那个文件:

代码语言:javascript
复制
var watcher = chokidar.watch(Meteor.call('getWatchFolder'), {
  ignored: path.resolve(Meteor.call('getWatchFolder')+'/ignore.js'), 
  persistent: true
});

我注意到这只忽略了/tmp/Ignre.js,而不是像/tmp/tmp2/Ignre.js这样的嵌套实例。如果要忽略所有嵌套的实例,可以通过在忽略路径中添加双星号通配符来轻松解决此问题:

代码语言:javascript
复制
var watcher = chokidar.watch(Meteor.call('getWatchFolder'), {
  ignored: path.resolve(Meteor.call('getWatchFolder')+'/**/ignore.js'), 
  persistent: true
});

我尝试将我的手表文件夹设置为。像你一样。它找到了大量的文件,我确定它是从

代码语言:javascript
复制
/Users/esoyke/myAppName/.meteor/local/build/programs/server

不过,这并不尊重我的忽略路径。当我把它从观看改过来的时候。到那个绝对路径,它自然会找到相同的文件,但忽略再次起作用。我怀疑这里存在绝对路径和相对路径的问题,看看您是否可以重构以使用绝对路径。

另外,谢谢你向我展示了path.resolve,我还没有用过那个Node模块。我试图向ignore添加多个子目录,并试图通过编辑chokidar的默认regex /[/]./来完成此操作。这种方法更简单,更容易阅读。可悲的是,chokidar的库目前似乎不允许多个忽略值,当有多个参数时,path.resolve会返回一个数组,所以我可能不得不回到正则表达式来让多个忽略路径工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28523074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档