节点次要代码问题-需求和导出功能

时间:2019-01-25 11:37:14

标签: javascript node.js export require

在上一次提交中:

  • 我们调用类似So var previousRoute = appRouter.getPreviousRoute();
  • 的函数
  • 其中的appRouter为var appRouter = require("app_utilities/default/app-router");
  • 并且app-router包含以下导出:
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;

我想知道我们需要删除括号吗?

我已经跑了:

  • node -p process.versions.v8
    • 6.8.275.32-node.36

1 个答案:

答案 0 :(得分:1)

最有可能是因为您声明了要导出的变量而不是 type函数 ,而export中的变量保留了该函数的引用,因此,如果您直接访问{{1 }}函数将产生错误,因为您没有导出函数,程序也找不到该错误。因此,在工作时,程序将在调用变量时发现其声明的内容,然后查找您提供的引用函数并执行它

相反,如果您要像这样导出

getPreviousRoute

它不会显示错误,因为它是一种功能,可以访问,如果我错了,我也要指出