【node使用】glob匹配模式

  |  

安装

npm install glob

使用

const glob = require(‘glob’)

规则

匹配符 说明
* 匹配文件路径中的0个或多个字符,但不会匹配 / ,除非 / 出现在末尾
** 匹配路径中的0个或多个目录及其子目录
? 匹配文件路径中的一个字符,不匹配 /
! 出现在规则的开头,表示取反。即匹配不命中后面规则的文件
[] 匹配方括号中出现的字符中的任意一个,如果范围的第一个字符是!或,^则它匹配不在范围内的任何字符
{} 可以让多个规则用 , 逗号分隔,起到或者的作用
{n1..n3} 匹配n1到n3之间的整数
!(pattern|pattern|pattern) 匹配任何与括号中给定的任一模式都不匹配的
?(pattern|pattern|pattern) 匹配括号中给定的任一模式0次或1次
+(pattern|pattern|pattern) 匹配括号中给定的任一模式至少1次
*(pattern|pattern|pattern) 匹配括号中给定的任一模式0次或多次
@(pattern|pattern|pattern) 匹配括号中给定的任一模式1次

例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
数据库导入
const _ = require('lodash');
const glob = require('glob');
const { resolve } = require('path');

glob.sync(resolve(__dirname, './', '**/*.js'))
.filter(value => (value.indexOf('index.js') === -1))
.map(model => {

let name = model.split('/').pop();
name = name.replace('.model.js', '');
name = _.camelCase(name); // 驼峰
name = name.substring(0, 1).toUpperCase() + name.substring(1);// 首字母大写
db[name] = modelDefine(require(model));
});
文章目录
  1. 1. 安装
  2. 2. 使用
  3. 3. 规则
  4. 4. 例子