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

时间:2016-03-30 16:17:35

标签: node.js fs

我想找到存在或不存在的文件类型,我使用的是nodejs,fs。这是我的代码

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

总是返回错误。

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

如何查找文件是否存在。在此先感谢。

2 个答案:

答案 0 :(得分:1)

节点不支持内置的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");
    }
});

使用node-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");
    }
});

答案 1 :(得分:0)

node.js默认情况下不支持“glob”通配符。您可以使用this一个

等外部包