访问调用模块中定义的必需模块中的功能

时间:2015-01-08 23:35:05

标签: javascript node.js module

如何调用所需模块中的函数,但在主程序中定义?

Main.js:

var http = require('http');
var aFunc = function() {return 1;}
var bFunc = require('./bFunc').bFunc;
var cFunc = function() {console.log(aFunc() + bFunc()); } // should equal 3.

httpServer = http.createServer(cFunc()).listen(80);

bFunc.js:

var bFunc = function() {return aFunc() + aFunc()};
exports.bFunc = bFunc;

我不想在bFunc中定义(复制)aFunc,也不想将aFunc放入自己的文件(aFunc.js)中。有没有办法通过返回主要程序" required"来访问bFunc中的aFunc? bFunc?

1 个答案:

答案 0 :(得分:1)

您必须将afunc传递给bfunc

// main.js
var cFunc = function() {console.log(aFunc() + bFunc(afunc)); }

// bfunc.js
var bFunc = function(f) {return f() + f()};

JavaScript具有词法范围

相关问题