【问题标题】:Node modules usage error节点模块使用错误
【发布时间】:2025-11-30 14:25:01
【问题描述】:

我需要 export 两个函数和 get 到这两个函数参数 arg1 的节点模块,我尝试以下我得到错误,我是什么这里做错了吗?

更新

模块内部有两个方法

1. I need to expose it outside and to call it explicit from other
 module with parameter 

喜欢

require('./controller/module')(functionName1)(parameter);
  1. 这个模块中的另一个函数(functionName2)我需要用两个参数显式调用它,我应该怎么做?

【问题讨论】:

    标签: node.js module amd node-modules


    【解决方案1】:

    你想做什么不是很清楚,但我认为你想要这样的东西:

    module.exports = function (arg1)  {
      return {
        server: function (params1) {
          //do something with arg1 and params1
        },
        proc: function (params2) {
         //do something with arg1 and params2
       }
     }
    };
    

    并使用模块:

    var arg1 = 'whatever'
    var myMod = require('myMod')(arg1);
    myMod.server();
    myMod.proc();
    

    选项 2

    如果我看看你的新例子

    require('./controller/module')(functionName1)(parameter);
    

    您需要导出一个函数并返回另一个函数的模块 (Higher Order Function)。

    例如:

    module.exports = function(functionName1) {
        if(functionName1 === 'server'){
            return function server(parameter){
              //do your stuff here
           }
        }
    
        if(functionName1 === 'proc'){
            return function proc(parameter){
              //do your stuff here
           }
        }    
    };
    

    【讨论】:

    • 谢谢我需要一些不同的东西,我更新了问题,现在更清楚了吗?