使用 nodejs 检查文件类型是否存在

check the type of files is present or not using nodejs

我想查找文件的类型是否存在,我正在使用 nodejs、fs。这是我的代码

var location = '**/*.js';
log(fs.statSync(location).isFile());

这总是 returns 错误。

 Error: ENOENT, no such file or directory '**/*.js'

如何找到文件是否存在。提前致谢。

node 不支持内置的 globbing (**/*.js)。您需要递归遍历目录并遍历文件名数组以查找所需的文件类型,或者使用 node-glob.

之类的东西

使用recusrive-readdir-sync

var recursiveReadSync = require('recursive-readdir-sync'),
    files;
files = recursiveReadSync('./');

files.forEach(function (fileName) {
    if (fileName.search(/\.js$/g) !== -1) {
        console.log("Found a *.js file");
    }
});

使用节点 glob:

var glob = require("glob")
glob("**/*.js", function (er, files) {
    files.forEach(function (fileName) {
    if (fileName.search(/\.js$/g) !== -1) {
        console.log("Found a *.js file");
    }
});

node.js 默认不支持 "glob" 通配符。您可以使用 this one

这样的外部包