node-golb

允许你使用*等符号,来写一个glob规则,来获取匹配对应规则文件,基于javascript。

        调用格式实例    

var glob = require("glob")

// options 是可选的
glob("**/*.js", options, function (er, files) {
  // files 是匹配到的文件的数组.
  // 如果 `nonull` 选项被设置为true, 而且没有找到任何文件,那么files就是glob规则本身,而不是空数组
  // er是当寻找的过程中遇的错误
})

        特殊字段实例 (正则)

            1 *匹配该路径段中0个或多个任意字符

            2 ? :匹配该路段中1个任意字符 

            3 [...]:匹配该路径段中在指定范围内字符(注意不能组合,只能是其中一个字符)

  1. *(pattern)|(pattern)|(pattern):匹配括号中多个模型的0个或多个或人一个的组合(注意|前后不能有空格)
  1. !(pattern|pattern|pattern):匹配不包含任何模型(注意!(pattern|pattern|pattern)不等于!(*pattern|pattern|pattern)
  1. ?(pattern|pattern|pattern):匹配多个模型中的0个或任意1个,它和4的区别是,不可以组合,必须完全匹配
  1. +(pattern|pattern|pattern):匹配多个模型中的1个或多个,它和4的区别是必须有一个,为空不匹配
  1. '@(pattern|pat*|pat?erN)':匹配多个模型中的任意1个
  2. **:和1一样,可以匹配任何内容,但**不仅匹配路径中的某一段,而且可以匹配a/b/c这样带着/的内容,所以,它还可以匹配子文件夹下的文件。

//*:匹配路径中某部分:0个或多个字符获取js目录下的所有js文件.(不包括以'.'开头的文件)
glob("js/*.js",function (er, files) {
    console.log(files)
})

实例用法

var glob = require('glob');

// 获取指定路径下的入口文件
function getEntries(globPath) {
    var files = glob.sync(globPath),
        entries = {};

    files.forEach(function(filepath) {
        var split = filepath.split('/');
        var name = split[split.length - 2];
        var entity = [];
        entity.push('./' + filepath);
        entries[name] = entity;
    });

    return entries;
}
entry: getEntries('app/**/index/index.js'),


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值