获取Gulp.js目录中的文件数量?

时间:2017-05-11 13:34:56

标签: javascript node.js gulp

到目前为止,我尝试使用glob-fs包,如下所示:

  let cssFileCount;
  glob.readdir('public/css/*.css', function (err, files) {
    if (err) return console.error(err);
    console.log(files);
    cssFileCount = (files.length);
  });

这与我的JS文件public/js/*.js的路径完全一致,但是当我使用public/css/*.css时,它会返回一个空数组,尽管该目录中包含css文件。当我使用js路径时,它返回一个包含文件列表的数组。然后我使用.length来检查文件数。

还有其他方法可以使用Globbing检查目录中的文件数吗?

1 个答案:

答案 0 :(得分:2)

另一种方法是简单地使用节点的标准文件系统api和基本过滤器:

 const fs = require('fs');
 const path = require('path')
 fs.readdr('public/css', function(err, files) {
    if (err) return console.error(err);
    const cssFiles = files.filter(file => path.extname(file).toLowerCase() === '.css'));
    console.log(cssFiles);
    cssFileCount = (cssFiles.length);
 });

你不能在这种方法上使用glob,但是从你的问题陈述来看并不是真正需要的,因为你的文件过滤器是非常基本的(即扩展名)。