0

ここで何が間違っているのかわかりませんか?

エラー:

/Users/user/node/app.js:3
makeRequest("Here's looking at you, kid");
^
TypeError: object is not a function
    at Object.<anonymous> (/Users/user/node/app.js:3:1)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)

app.js

var makeRequest = require('./make_request');

makeRequest("Here's looking at you, kid");
makeRequest("Hello, this is dog");

make_request.js

var http = require('http');

var makeRequest = function(message) {

    //var message = "Here's looking at you, kid.";
    var options = {
        host: 'localhost', port:8080, path: '/', method: 'POST'
    }

    var request = http.request(options, function(response) {
        response.on('data', function(data) {
            console.log(data);
        });
    });
    request.write(message);
    request.end();
};

exports = makeRequest;
4

3 に答える 3

4

functionをモジュール オブジェクトとして返すには、次のように設定しmodule.exportsます。

module.exports = makeRequest;

exportsの便利なコピーですmodule.exports

于 2013-01-05T02:13:12.083 に答える
1

関数を呼び出す必要があります。

makeRequest.makeRequest("Your message");

次のようにしてコードを簡素化することもできます。

module.exports.makeRequest = function(message) {
    //... 
};
于 2013-01-05T02:12:24.200 に答える
0

app.js の最初の行で名前空間をインポートしていると思います。この名前空間は make_request です。また、名前空間 make_request にある makeRequest という関数を呼び出そうとしています。これを試してみてください:

makeRequest.makeRequest("message"); on line 3 and 4 of app.js
于 2013-01-05T02:13:36.193 に答える