在前端开发中,有时需要得到一个文件夹下所有文件的路径,这时候可以使用 npm 包 glob2filepath
来进行操作。glob2filepath
是一个递归获取文件路径的工具包,支持 *
、**
、?
等通配符的匹配操作,同时也支持忽略指定的文件或文件夹。
安装
使用 npm 包管理器来安装:
npm install glob2filepath --save
使用
基本使用
const g2f = require('glob2filepath'); const paths = g2f('./src/**/*'); console.log(paths);
输出结果:
[ './src/index.js', './src/lib/util.js', './src/lib/helper.js', './src/css/main.css', './src/img/logo.png' ]
匹配规则
glob2filepath
支持多种通配符,下面介绍一些常用的:
*
:匹配任意数量的字符,不包括目录分隔符(/);**
:匹配任意数量的字符,包括目录分隔符(/);?
:匹配单个字符,不包括目录分隔符(/)。
例如:
const g2f = require('glob2filepath'); const paths = g2f('./src/**/*.{js,css}'); console.log(paths);
输出结果:
[ './src/index.js', './src/lib/util.js', './src/lib/helper.js', './src/css/main.css' ]
排除文件
glob2filepath
支持通过 ignore
属性来排除指定的文件或文件夹。
const g2f = require('glob2filepath'); const paths = g2f('./src/**/*', { ignore: ['./src/lib'] }); console.log(paths);
输出结果:
[ './src/index.js', './src/css/main.css', './src/img/logo.png' ]
规范化路径
glob2filepath
支持通过 normalize
属性来规范化输出的路径。
const g2f = require('glob2filepath'); const paths = g2f('./src/**/*', { normalize: true }); console.log(paths);
输出结果:
[ 'src/index.js', 'src/lib/util.js', 'src/lib/helper.js', 'src/css/main.css', 'src/img/logo.png' ]
总结
glob2filepath
是一个功能强大的递归获取文件路径的工具包,支持多种匹配规则,并且支持排除指定文件或文件夹,同时也支持规范化输出的路径。通过本文的介绍,相信大家已经对 glob2filepath
的使用有了一定的理解,可以在实际开发中应用于项目中,提高开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066e6e255dee6beeee7435