匹配JavaScript文件,但不包括摩卡测试文件

时间:2018-10-18 12:07:07

标签: javascript node.js pattern-matching

我想在目录中找到所有javascript文件。即文件必须以.js结尾,但我想排除以test.js结尾的文件

const glob = require('glob');

function globbing (pattern) {
  return new Promise(function (resolve, reject) {
    glob(pattern, function (err, files) {
      if (err) {
        reject(err);
      } else {
        resolve(files);
      }
    });
  });
}


(async () => {
  const jsFiles = await globbing('../**/*.js');
  console.log(jsFiles);
})()

outputs:
'../component/admin/userDashboard.js',
'../component/admin/userDashboard.test.js',
'../component/admin/waitingPage.js',
'../component/app.js',
'../component/app.test.js',;

我尝试添加!(* test.js),但仍然包含测试文件,我认为是因为第一个匹配项

1 个答案:

答案 0 :(得分:2)

那:

glob('../**/*.js', {
  ignore: '../**/*test.js', 
}, function (err, files) {
  console.log(files);
});