【问题标题】:Ignore multiple files with Chokidar使用 Chokidar 忽略多个文件
【发布时间】:2017-08-23 21:11:53
【问题描述】:

在使用 Chokidar 观看目录时,有什么方法可以忽略多个文件或目录?

我的代码:

var ignoredFiles = ['c:/test/file1.txt', 'c:/test/file2.txt'];
//var ignoredFiles = 'c:/test/file1.txt';

var watchOptions: WatchOptions = <WatchOptions>{
            ignored: ignoredFiles,
            persistent: true,
            ignoreInitial: false,
            awaitWriteFinish: false,
            ignorePermissionErrors: false
        };
this.watcher = chokidar.watch('c:/test', watchOptions);

如果我尝试将忽略选项设置为字符串数组,它不起作用。而且,即使我尝试将其设置为字符串,它也不起作用。

关于这样做的简单方法有什么建议吗?来自 Chokidar 文档:

ignored: (anymatch-compatible definition) 将文件/路径定义为 忽略。测试整个相对或绝对路径,而不仅仅是 文件名。如果提供了一个有两个参数的函数,它会被调用 每个路径两次 - 一次使用单个参数(路径),第二次 带有两个参数(路径和该路径的 fs.Stats 对象)。

谢谢。

【问题讨论】:

  • 您是否尝试过使用正则表达式?例如,忽略:/file[1-2]\.txt/
  • 您找到解决方案了吗?我自己也尝试过使用正则表达式,但没有运气

标签: javascript node.js fs


【解决方案1】:

各种被忽略的选项

var ignoredFiles = ['c:/test/file1.txt', 'c:/test/file2.txt'];

var watchOptions = {
        ignored: ignoredFiles,
        persistent: true,
        ignoreInitial: false,
        awaitWriteFinish: false,
        ignorePermissionErrors: false
    };
this.watcher = chokidar.watch('c:/test', watchOptions);

否则

ignored: /file/, // ignores files and dirs which contain "file" in the name

你也可以使用正则表达式

ignored: /file[1-2]\.txt/, // ignores files matching this regex

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    相关资源
    最近更新 更多