【问题标题】:How to get first X files with node glob如何使用节点 glob 获取第一个 X 文件
【发布时间】:2014-04-21 18:59:41
【问题描述】:

使用node-glob,是否可以指定只返回前X 个匹配文件而不是所有匹配的模式?

例如,如果我想要所有 JavaScript 文件,我的模式将是 **/*.js。但是如果我只想要前 5 个 JavaScript 文件呢?

我意识到还有其他选择,例如我可以获取生成的文件集数组并将其切片。这里的基本情况使这变得困难,所以我试图直接从 glob 模式中完成。

【问题讨论】:

    标签: node.js glob minimatch


    【解决方案1】:

    您可以像这样创建自己的 Glob 对象:

    var i = 0;
    var Glob = require("glob").Glob;
    var mg = new Glob(pattern, options, cb);
    mg.on("match", function(matched) {
        console.log(matched);
        i++;
        if(i == 5) mg.abort();
    });
    

    它是一个事件发射器,因此您可以侦听match 事件,该事件将在找到文件时触发。随着每次匹配增加计数器,如果达到您的阈值,您可以调用mg.abort() 停止搜索。

    【讨论】:

    • 谢谢你。不幸的是,我正在寻找仅使用字符串模式的可能性。我正在使用一个仅公开模式的应用程序,无法直接访问 Glob,也无法传入新的 glob。
    猜你喜欢
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 2011-01-25
    • 2015-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多