2015-10-15 90 views
1

伊夫節點moudle,我需要出口兩個函數和得到到兩個函數的參數ARG1,我嘗試用下面我有錯誤,我究竟做錯了什麼?節點模塊使用錯誤

UPDATE

伊夫2層內部模塊的方法

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

require('./controller/module')(functionName1)(parameter); 
  • 該模塊中的另一個功能(functionName2),我需要用兩個參數調用它顯式,我該怎麼做對不對?
  • 回答

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

    謝謝,我需要的東西有點不同勢,我更新的問題,是不是更清晰了吧? –

    +0

    我更新了我的示例。 – PatrickD