zoukankan      html  css  js  c++  java
  • npm glob

    什么是glob?

    glob是由普通字符和/或通配字符组成的字符串,用于匹配文件路径。可以利用一个或多个glob在文件系统中定位文件

    这是JavaScript中的全局实现。它使用minimatch 库进行匹配。

    使用

    使用npm安装

    npm install glob
    
    const glob = require('glob')
    // options is optional
    glob("**/*.js", options, function (er, files) {
      // files is an array of filenames.
      // If the `nonull` option is set, and nothing
      // was found, then files is ["**/*.js"]
      // er is an error object or null.
    })
    

    glob Primer (glob 引言)

    “ Globs”是您ls .js在命令行或build/类似.gitignore文件中执行操作时键入的模式。

    在解析路径零件模式之前,将支撑部分扩展为一组。括号部分以开头,{结尾为},其中包含任意多个逗号分隔的部分。括号部分可能包含斜杠字符,因此a{/b/c,bcd}将扩展为a/b/c和abcd。

    在路径部分中使用以下字符具有特殊的魔术含义:

    • 在单个路径部分中匹配0个或更多字符
    • ? 符合1个字元
    • [...]匹配一个字符范围,类似于RegExp范围。如果范围的第一个字符是!或,^则它匹配不在范围内的任何字符。
    • !(pattern|pattern|pattern) 匹配与提供的任何模式都不匹配的任何内容。
    • ?(pattern|pattern|pattern) 匹配零个或一次出现的提供的模式。
    • +(pattern|pattern|pattern) 匹配提供的模式的一个或多个出现。
    • *(a|b|c) 匹配零个或多个出现的提供的模式
    • @(pattern|pat*|pat?erN) 完全匹配提供的一种模式
    • **如果路径部分中只有一个“ globstar”,则它将匹配零个或多个搜索匹配项的目录和子目录。它不对符号链接的目录进行爬网。

    如果文件或目录路径部分以a.作为第一个字符,则它将与任何全局模式都不匹配,除非该模式的对应路径部分也以a.作为其第一个字符。

    例如,该模式a/./c将与处的文件匹配a/.b/c。但是,该模式a//c不会,因为*它不是以点字符开头。

    通过dot:true在选项中进行设置,可以使glob将点视为普通字符 。

    方法

    glob.hasMagic(pattern,[options])

    true如果模式中有任何特殊字符,则返回, false否则返回。

    请注意,这些选项会影响结果。如果noext:true在options对象中设置了,那么+(a|b)将不会被视为魔术模式。如果模式具有大括号扩展名(如a/{b/c,x/y} 这样),则认为这是神奇的,除非nobrace:true在选项中设置了该扩展名。

    glob(pattern,[options],cb)

    • pattern {String} 要匹配的图案
    • options {Object}
    • cb {Function}
      • err {Error | null}
      • matches {Array} 找到与模式匹配的文件名
        执行异步全局搜索

    glob.sync(pattern,[options])

    • pattern {String} 要匹配的图案
    • options {Object}
    • 返回:{Array}找到与模式匹配的文件名
      执行同步全局搜索。

    资料
    glob npm

  • 相关阅读:
    python基础:8.正则表达式
    [Unity工具]批量修改字体
    产品理念(微博和Twitter)
    个性化推荐技术漫谈
    谱聚类算法(转自http://www.cnblogs.com/vivounicorn/archive/2012/02/10/2343377.html)
    Ubuntu输入正确密码后无法登录
    KMeans java实现(未用Hadoop版改进)
    Nutch安装指南
    KMeans的MapReduce实现
    特征向量的几何意义
  • 原文地址:https://www.cnblogs.com/dehenliu/p/14479917.html
Copyright © 2011-2022 走看看