从module.export调用;相同模块中的功能。export

时间:2019-06-10 13:47:25

标签: node.js

我需要有关这段代码的帮助。 我正在尝试做的是在module.export的“根”中调用一个函数。但是调用是从同一module.export内部的函数提供的。这就是我得到的:

从另一个脚本中,我调用了函数“ base-execute”。 我正在尝试做的是在此之后立即调用函数“ Tocall-Function”。这可能吗?

module.exports.main = {

   Part1 : {
      Sub1 : {
         base-execute(){
           // Some code and then call the "Tocall-Function" //
         }
      },
      Sub2 : {...}
   },
  Part2 : {...}


  Tocall-Function(){
    //Another piece of code//
  }

} 

我尝试了“ this.Tocall-Function”。但是,“ this”本身仅返回“ base-execute”函数之前的内容(Sub1部分内部的内容)。

我可以访问非module.exports.main内部的变量。但是我不能自己称呼它。

我找不到适合我的情况的东西。如果有人可以帮助我,那就太好了!

感谢您阅读。

3 个答案:

答案 0 :(得分:0)

您可以与导出分开定义main,并用main.TocallFunction();调用要调用的函数

const main = {

  Part1 : {
    Sub1 : {
      baseExecute() {
        main.TocallFunction();
        // Some code and then call the "Tocall-Function" //
      }
    },
    Sub2 : {}
  },
  Part2 : {},
  TocallFunction() {
    //Another piece of code//
  }
};

exports.main = main;

答案 1 :(得分:0)

一个简单的解决方法是从脚本中创建对导出对象的引用。

var main = {

   Part1 : {
      Sub1 : {
         base-execute(){
           // Some code and then call the "Tocall-Function" //

           main.Tocall_Function()
         }
      },
      Sub2 : {...}
   },
  Part2 : {...}


  Tocall_Function(){
    //Another piece of code//
  }

} 


module.exports.main = main;

答案 2 :(得分:0)

让我们尝试一下:


    const toCallFunction = () => console.log("To Call Function");

    module.exports = { toCallFunction: toCallFunction, main: { part1: { sub1: () => toCallFunction  }} };

然后,您可以像这样导入模块:

    const { main, toCallFunction } = require("./myCustomModule")