javascript - 访问调用模块中定义的所需模块中的函数

标签 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)中。有没有办法通过引用“需要”bFunc的主程序来访问bFunc中的aFunc?

最佳答案

您必须将 afunc 传递给 bfunc:

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

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

JavaScript 具有词法范围。

关于javascript - 访问调用模块中定义的所需模块中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27851497/

相关文章:

javascript - 为什么 redux store/state 更新时 mergeProps 中使用的函数不更新?

javascript - Promise 异步调用

javascript - Node.js 模块导出

php - 使用 google.com/tbproxy/spell 检查拼写

javascript - D3.js 对象之间的动态连接器

javascript - 让谷歌地图填充高度

node.js - 等待总是抛出 SyntaxError : await is only valid in async function in sequelize

Node.js REST API 版本控制的正确方式?

import - typescript 中的 `from foo import *`

powershell - 如何从 powershell 模块函数导出变量?