Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 读取目录中的所有文件_Javascript_Arrays_Node.js_Scope_Filesystems - Fatal编程技术网

Javascript 读取目录中的所有文件

Javascript 读取目录中的所有文件,javascript,arrays,node.js,scope,filesystems,Javascript,Arrays,Node.js,Scope,Filesystems,下面是我正在使用的代码片段 /* Module: inputReader.js, directoryScanner.js (included) Description: Basic file reader returns string of contents of a file from a set file name Needs to be done: Add key listener to allow for a dynamic file name */ //

下面是我正在使用的代码片段

/* 
    Module: inputReader.js, directoryScanner.js (included)
    Description: Basic file reader returns string of contents of a file from a set file name
    Needs to be done: Add key listener to allow for a dynamic file name
 */

// Declare node.js module dependencies from API
var fs = require('fs'), 
    wrench = require('wrench'),
    util = require('util')

// Define module to be exported as a function(s)
module.exports = {
    dirRead: function() {
        var rootfolder = './node_modules';
        var filteredfiles = [];
        var files = [];
        var fileextension = '.html';

        files = wrench.readdirSyncRecursive(rootfolder)
        for (var i = 0; i<files.length; i++) { 
            if (files[i].indexOf(fileextension) != -1) { 
                filteredfiles.push(files[i]);
            }
        }
        return filteredfiles;
    },

    fileRead: function() {
        // Call synchronous fileSystem function readFileSync on file name
        for(i = 0; i<filteredfiles.length; i++) {
            var temp = fs.readFileSync(filteredfiles[i].toString(), 'utf8')
            return temp
        }
    }
};

filteredfiles是在dirRead函数中本地声明的(因此它对于fileRead函数不可见)。您必须在更高的范围内声明它,或将其作为fileRead参数传递。

您是否尝试确保该变量是全局变量?我将变量设置为全局变量,并且在一定程度上起到了作用;readFile函数正在读取路径,但正在读取整个路径。c:\User\Brian\documents\visualizer\express\etc。。我是否有办法在数组中格式化该字符串,因为将完整路径作为readFile方法的输入不起作用;(错误:enoint,没有这样的文件或目录)其中是与JS文件相关的目录。对于下一个更高的目录,可以使用简单的引用,如“./”。
res.send(reader.dirRead()) and then, res.send(reader.fileRead(reader.dirRead()))