节点js fs.exists仅存在当前目录

时间:2016-03-20 06:42:32

标签: node.js

我设置了process.env.path变量和fs.exists(fileName)。如果文件不在其当前目录中,则节点无法找到该文件。  有没有我可以配置节点来搜索'process.env.path'中提到的所有目录中的文件。

1 个答案:

答案 0 :(得分:1)

这不是开箱即用的。您必须找到一个合适的npm包,它已经为您完成此操作或编写您自己的代码。 node-whereis中的代码行:

var fs = require('fs');

function whereIsMyFile(filename){
    var pathSep = process.platform === 'win32' ? ';' : ':';

    var directories = process.env.PATH.split(pathSep);
    for (var i = 0; i < directories.length; i++) {
        var path = directories[i] + '/' + filename;
        if (fs.existsSync(path)) {
            return path;
        }
    }
    return null;
}