节点模块使用错误
我节点moudle,我需要导出两个函数,并得到两个函数的参数arg1,我试着用下面的我得到错误,我在这里做错了什么?
UPDATE
我在模块里面有两个方法
1. I need to expose it outside and to call it explicit from other module with parameter
喜欢
require('./controller/module')(functionName1)(parameter);
- 另一个函数(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 } } };