当前位置: 首页 > 后端技术 > Node.js

node中的glob使用

时间:2023-04-03 13:54:27 Node.js

今天在做大佬写的项目的代码时,看到一段代码使用了glob模块,记录下它的基本用法。1-glob介绍1.1-npm官网:https://www.npmjs.com/package/glob1.2-说明:node的glob模块允许使用*等符号编写glob规则,就像在shell,获取符合相应规则的文件。这个glob工具是基于javascript的。它使用minimatch库进行匹配。一般来说,有了它,我们就可以用它来匹配我们想要的目录下的一些文件。在一些大型项目中做一些配置时,应该还是比较有用的。比如当我们配置webpack的入口文件时,当入口文件太多的时候。2-使用步骤2.1-下载包:npmiglob2.2-在使用的文件中引入:varglob=require("glob")2.3-路径中的某段可以用以下字符表示,每个字符都是各有作用:*:匹配路径段中的0个或多个任意字符//获取js目录下的所有js文件。(不包括以'.'开头的文件)glob("js/*.js",function(er,files){console.log(files)})?:匹配路径段中的任意字符//Getalljs.glob("js/?.js",function(er,files){console.log(files)})[...]:匹配路径段内的字符路径段中指定范围://获取js目录下a的开头,第二个字符为0-3之间的js(包括0和3)(不能匹配a03.js)注意不能合并,它只能是字符之一glob("js/a[0-3].js",function(er,files){console.log(files)})*(pattern|pattern|pattern):匹配0或more或者括号中多个模型的任意组合,注意前后不能有空格|//获取js目录js,其中有a.js、a1.js、b.js,或者a、a1、a的组合b个字符,比如ab.jsglob("js/*(a|a1|b).js",function(er,files){console.log(files)})更多匹配的符号就不一一记录了,具体可以参考文章:https://www.cnblogs.com/liula...3-使用glob快速配置前面提到的webpack的入口文件是异步方法,传入回调,执行获取到匹配文件时的回调。如果需要同步获取文件列表,我们学习一个globAPI:varfiles=glob.sync(pattern,[options])这个项目就是egg-react-ssr服务端渲染框架。可以看到我们的几个页面如下。那么我们需要为对应的页面配置多个webpack入口。具体步骤:接下来我们可以打印entry对象entry:现在我们可以直接将我们的entry对象传入webpack配置中~中文文档glob中文文档