繁体   English   中英

节点模块使用错误

[英]Node modules usage error

我需要导出两个函数并为两个函数获取参数arg1的Ive节点模块,我尝试以下操作出现错误,我在这里做错了什么?

UPDATE

Ive模块内部的两种方法

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

喜欢

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

目前尚不清楚您想做什么,但我认为您想要这样的事情:

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

您需要导出一个函数的模块,该函数返回另一个函数( 高阶函数 )。

因此,例如:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM