返回

《**/*.js**》是什么语法?手把手带你玩转!

前端

一、简介:
/*.js 是什么语法?

/*.js 是 JavaScript 中的一种语法,用于查找特定文件或目录中的 JavaScript 文件。它使用 glob 模式,允许你使用通配符来匹配文件或目录的名称。例如,/*.js 将匹配任何以 .js 结尾的文件,而 src/ /*.js** 将匹配 src 目录及其子目录中的所有 .js 文件。

二、通配符:

  • *: 匹配任何数量的字符。例如, *.js 将匹配任何以 .js 结尾的文件。
  • ?: 匹配任何单个字符。例如, a?b 将匹配任何以 a 开头,以 b 结尾的字符串。
  • []: 匹配一组字符。例如, [a-z] 将匹配任何小写字母。
  • +: 匹配一个或多个字符。例如, a+b 将匹配任何包含一个或多个 a 和一个 b 的字符串。

三、使用示例:

以下是一些 “**/*.js” 语法的使用示例:

  • 查找当前目录中的所有 .js 文件:
const fs = require('fs');

fs.readdirSync('./').forEach(file => {
  if (file.endsWith('.js')) {
    console.log(file);
  }
});
  • 查找 src 目录及其子目录中的所有 .js 文件:
const fs = require('fs');

fs.readdirSync('./src').forEach(file => {
  if (file.endsWith('.js')) {
    console.log(file);
  }
  
  const subfiles = fs.readdirSync(`./src/${file}`);
  subfiles.forEach(subfile => {
    if (subfile.endsWith('.js')) {
      console.log(`./src/${file}/${subfile}`);
    }
  });
});
  • 使用 glob 库查找文件:
const glob = require('glob');

glob('**/*.js', (err, files) => {
  if (err) {
    console.error(err);
  } else {
    console.log(files);
  }
});

四、注意事项:

  • /*.js 语法对大小写敏感。例如, *.JS 将不会匹配任何文件。
  • /*.js 语法只能用于查找文件,不能用于查找目录。
  • /*.js 语法不支持嵌套通配符。例如, * *.js* 无效。

希望本指南能帮助你更好地理解和使用 “**/*.js” 语法。如果你有任何问题或建议,欢迎在下方留言。