繁体   English   中英

如何将多个嵌套函数导出到其他文件,以便我可以重用代码

[英]how to exports multiple nested functions to the other files so i can reuse the code

我正在尝试从嵌套函数中导出带有module.exports的模块, module.exports我不知道该怎么做。 任何人都可以帮助使用此代码吗?

这是module.js

const mainF = ()=> {
    const secondF = (a,b)=> {
        console.log(a+b)
    }
    secondF();
}
mainF();
module.exports = [mainF,secondF]

这是main.js

const {mainF,secondF} = require('./module.js');
secondF(5,5)

它给出了一个错误: secondF未定义。 我想打印10的输出

您必须在mainF函数之外定义secondF

const secondF = (a,b)=> {
    console.log(a+b)
}

const mainF = ()=> {
    secondF(); // this will log: NaN
}

mainF();
module.exports = [mainF,secondF]

这样做真的没有意义。 每次mainF被调用时,一个新的secondF被创建。 所以虽然你可以这样做:

// DON'T DO THIS
module.exports = [];
const mainF = ()=> {
    const secondF = (a,b)=> {
        console.log(a+b)
    }
    if (module.exports.length === 1) {
        module.exports.push(secondF);
    }
    secondF();
}
module.exports.push(mainF);
mainF();

...不要,因为只会导出第一个secondF ,而不是通过第二次、第三次、第四mainF次调用mainF创建的所有其他内容。

很难告诉你该怎么做,因为你还没有说你的最终目标是什么。 通常,您只导出顶级函数,而不是嵌套函数。

暂无
暂无

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

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