节点模块使用错误

时间:2015-10-15 12:14:02

标签: node.js module amd node-modules

Ive node moudle我需要导出两个函数和获取这两个函数的参数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)我需要用两个参数显式调用它,我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

目前还不是很清楚你想做什么,但我认为你想要这样的事情:

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
       }
    }    
};