1. ホーム
  2. node.js

[解決済み] Node.jsで複数のmodule.exportを宣言する

2022-03-15 14:38:08

質問

複数の関数を含むモジュールを作りたいのですが、どうすればいいですか?

module.js。

module.exports = function(firstParam) { console.log("You did it"); },
module.exports = function(secondParam) { console.log("Yes you did it"); }, 
// This may contain more functions

main.js:

var foo = require('module.js')(firstParam);
var bar = require('module.js')(secondParam);

私が抱えている問題は firstParam はオブジェクト型であり secondParam はURLの文字列なのですが、そうすると必ず「型が違う」と文句を言われます。

この場合、複数のmodule.exportsを宣言するにはどうしたらよいでしょうか?

どのように解決するのですか?

というようなことができます。

module.exports = {
    method: function() {},
    otherMethod: function() {},
};

あるいは、ただ

exports.method = function() {};
exports.otherMethod = function() {};

次に呼び出し側のスクリプトで

const myModule = require('./myModule.js');
const method = myModule.method;
const otherMethod = myModule.otherMethod;
// OR:
const {method, otherMethod} = require('./myModule.js');