Node.js - 无法读取未定义

时间:2015-09-21 15:58:09

标签: javascript node.js web

我尝试运行这个小节点测试应用程序,但是当我尝试使用fs模块中的stat方法时,它继续抛出相同的错误 - 无法读取未定义的属性'isDirectory'

var http = require("http");
var fileSys = require("fs");

http.createServer(function(req, res) {
    if(req.statusCode != 404) {
        fileSys.readdir("templates", function(error, folders) {
            if(!error) {
                for (var i in folders) {
                    fileSys.stat(folders[i], function(error, stats) {
                        if(!error) {
                           res.writeHead("200", {"Content-type": "text/plain"});
                           res.end(stats.isDirectory());
                        } else {
                            console.log(error);
                            return;
                        }
                    });
                }
            } else {
                console.log(error);
                return;
            }
        });
    }
}).listen(8080);


console.log("Server started.......");
console.log("Server running on  loopback:8080 ;)");

然后我使用和不使用管理员权限运行代码两次,但问题仍然存在且错误显示

1 个答案:

答案 0 :(得分:0)

您的路径中有错误

fileSys.stat(folders[i], function(error, stats)

folders[i]可能不是真正的路径,您应该使用其路径而不是其fileName。例如" ./ uploads /" + fileName。