节点次要代码问题 - 需要和导出的函数

Node Minor Code Issues - Require and Exported Functions

在之前的提交中:

module.exports = {
   getPreviousRoute: getPreviousRoute
}

function getPreviousRoute() {
   return window.appPreviousRoute;
};

然而在后者中出现以下行错误:

var previousRoute = appRouter.getPreviousRoute();

错误 将是:Uncaught TypeError: appRouter.getPreviousRoute is not a function

我们必须将其更改为: var previousRoute = appRouter.getPreviousRoute;

我想知道为什么我们需要去掉括号?

我有 运行:

很可能因为您声明了一个变量而不是要导出的 类型的函数 并且导出中的变量保存函数的引用所以如果你直接访问 getPreviousRoute 一个函数,它会产生一个错误,因为你没有导出一个函数,程序将找不到它。因此,就调用变量时的工作而言,程序会发现其声明然后将查找您提供的引用函数并执行它

相反,如果您要导出

exports.getPreviousRoute = ()=>{}

它不会向您显示错误,因为它是一种函数,并且可以访问,如果我错了,我也会指出