Node.js 中未定义强大

Formidable is not defined in Node.js

我正在尝试创建一个用户可以上传图像和档案的 HTTP 服务器,为此我使用 formidable 来处理上传部分。

我的代码:

requestHandler.js

 // Request Handlers (will handle all requests that happen)

    // Allows Node.js to make use of a non-blocking operation: exec ();
    var exec = require("child_process").exec;
    var querystring = require("querystring");
    fs = require("fs");
    var fomidable = require("formidable");

    function start(response, postData) {
        console.log("Request handler 'start' was called");
        var body = '<html>' +
        '<head>' +
        '<meta http-equiv = "Content-Type" content = "text/html";'+
        'charset="UTF-8"/>' +
        '</head>' +
        '<body>' +
        '<form action = "/upload" enctype = "multipart/form-data"' +
        'method = "post">' +
        '<input type ="file" name = "upload multiple = "multiple">' +
        '<input type = "submit" value ="Upload file" />' +
        '</form>' +
        '</body>' +
        '</html>';

        response.writeHead(200, {"Content-Type" : "text/html"});
        response.write(body);
        response.end();
    }

        // What is being passed between router.js and requestHandler.js is the entire body of the POST data request.

    function upload(response, request) {
        console.log("Request handler 'upload' was called");

        var form = new formidable.IncomingForm();
        console.log("about to parse");
        form.parse(request, function(error, fields, files) { 
        console.log("parsing done");

        /*Possible error on Windows systems; tried to rename to an already existing file*/

        fs.rename(files.upload.path, "/tmp/test.png", function(err) {
            if(err) {
                fs.unlink("/tmp/test.png");
                fs.rename(files.upload.path, "/tmp/test.png");
            }
        });
        response.writeHead(200, {"Content-Type" : "text/plain"});
        response.write("You've sent the text : " + querystring.parse(postData).text);
        response.write("\nHello Upload");
        response.end();
    });
    }

    function show(response) {
        console.log("Request handler 'show' was called.");
        fs.readFile("/tmp/test.png", "binary", function(error,file) {
            if(error) {
                response.writeHead(500, {"Content-Type" : "text/plain"});
                response.write(err + "\n");
                response.end();
            } else {
                response.writeHead(200, {"Content-Type" : "image/png"});
                response.write(file, "binary");
                reponse.end();
            }
        });
    }
    exports.start = start;
    exports.upload = upload;
    exports.show = show;

我也在我的代码的另一部分使用了 formidable,在我的 server.js 中,但由于某种原因在那里工作(因此我没有发布代码),错误指出第 35 行中的 requestHandler.js :

var form = new formidable.IncomingForm();

formidable is not defined

如何定义强大的?当我已经在 :

中首先调用时
var formidable = require("formidable");

我觉得你打错了...

var fomidable = require("formidable");

大概应该是:

var formidable = require("formidable");

因此 formidable is not defined...您将其定义为 fomidable