如何在Node.js中访问导出的“嵌套”函数-TypeError:不是函数

水瓶座女孩

这是导出的嵌套模块的一种情况:

BaseTutorial.js

// exports module makes the functions public such that they can be accessed in other modules in Node.js.
module.exports.fun_tutorial = function()
{
    console.log("First print from Tutorial.js")                                
}

Extended_NodeTutorial.js

    // `require` is the way to include other modules in

var obj_baseTutorialJS = require('./Base_Tutorial.js');

module.exports.fun_extendedNodeTutorial = function()
{
    console.log("Second print from Extended_NodeTutorial.js")

    this.ss = function fun_nested()         
    {
        console.log("sadasdsa")
        var fun_nested = obj_baseTutorialJS
        fun_nested.fun_tutorial();
    }
}

app.js

var obj_extendedNodeTutorial = require('./Extended_NodeTutorial.js');
console.log(obj_extendedNodeTutorial)

obj_extendedNodeTutorial.fun_extendedNodeTutorial();
obj_extendedNodeTutorial.fun_extendedNodeTutorial.fun_nested();

执行后发生错误node app.js

{ fun_extendedNodeTutorial: [Function] }
Second print from Extended_NodeTutorial.js
/home/***/Documents/home_notes/MEAN/app.js:7
obj_extendedNodeTutorial.fun_extendedNodeTutorial.fun_nested();
                                                  ^

TypeError: obj_extendedNodeTutorial.fun_extendedNodeTutorial.fun_nested is not a function
    at Object.<anonymous> (/home/***/Documents/home_notes/MEAN/app.js:7:51)
    at Module._compile (module.js:569:30)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:503:32)
    at tryModuleLoad (module.js:466:12)
    at Function.Module._load (module.js:458:3)
    at Function.Module.runMain (module.js:605:10)
    at startup (bootstrap_node.js:158:16)
    at bootstrap_node.js:575:3

vatz88

我不知道您要达到什么目的,但是有多种方法可以解决此问题。

1)您可以返回嵌套函数。

BaseTutorial.js

module.exports.fun_tutorial = function()
{
    console.log("First print from Tutorial.js")                                
}

Extended_NodeTutorial.js

var obj_baseTutorialJS = require('./Base_Tutorial.js');

module.exports.fun_extendedNodeTutorial = function()
{
    console.log("Second print from Extended_NodeTutorial.js");

    return fun_nested()
    {
        console.log("sadasdsa");
        const fun_tutorial = obj_baseTutorialJS.fun_tutorial;
        fun_tutorial();
    }
}

app.js

var obj_extendedNodeTutorial = require('./Extended_NodeTutorial.js');
console.log(obj_extendedNodeTutorial)

const fun_nested = obj_extendedNodeTutorial.fun_extendedNodeTutorial();
fun_nested(); // adasdsa

2)您可以创建从导出的函数的实例Extended_NodeTutorial.js我看到您正在尝试使用this.ss要达到类似的目的,您必须使用new关键字。

BaseTutorial.js

module.exports.fun_tutorial = function()
{
    console.log("First print from Tutorial.js")                                
}

Extended_NodeTutorial.js

var obj_baseTutorialJS = require('./Base_Tutorial.js');

module.exports.fun_extendedNodeTutorial = function()
{
    console.log("Second print from Extended_NodeTutorial.js")

    this.fun_nested = function()
    {
        console.log("sadasdsa");
        const fun_nested = obj_baseTutorialJS.fun_tutorial;
        fun_tutorial();
    }
}

app.js

var obj_extendedNodeTutorial = require('./Extended_NodeTutorial.js');
console.log(obj_extendedNodeTutorial)

const fun_extendedNodeTutorial = new obj_extendedNodeTutorial.fun_extendedNodeTutorial(); // Second print from Extended_NodeTutorial.js
fun_extendedNodeTutorial.fun_nested(); // sadasdsa

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

typeerror undefined 不是 node js 中的函数

来自分类Dev

Node.js:TypeError:对象不是函数

来自分类Dev

TypeError:对象不是Node.js函数

来自分类Dev

TypeError:undefined不是Node JS函数

来自分类Dev

TypeError:promise.then(...)。then(...)。then(...)。then(...)。catch不是Node Js中的函数

来自分类Dev

TypeError:回调不是Node.js中的函数

来自分类Dev

TypeError:undefined不是Node.js中的函数

来自分类Dev

TypeError:undefined不是Node.js中管道的函数

来自分类Dev

TypeError:对象不是Node JS / socket.io中的函数

来自分类Dev

TypeError:count 不是 node.js 和 sequelize 中的函数

来自分类Dev

Javascript TypeError:...不是构造函数-如何从构造函数构造函数?

来自分类Dev

Angular 如何修复 TypeError:getUnfinishedItemsNumber 不是函数?

来自分类Dev

从导出的模块(node.js)访问函数

来自分类Dev

TypeError:[函数名]不是函数,在mongoose和node.js中

来自分类Dev

TypeError:[函数名称]不是函数,在mongoose和node.js中

来自分类Dev

Node.js异步并行“ TypeError:任务不是函数”

来自分类Dev

TypeError:不是Node和Express JS的构造函数

来自分类Dev

Node.js TypeError:未定义不是函数

来自分类Dev

如何在Node.js / Javascript中较小的嵌套函数中使用函数的参数?

来自分类Dev

如何修复TypeError _interopRequireDefault不是Create React App中的函数

来自分类Dev

如何修复TypeError _interopRequireDefault不是Create React App中的函数

来自分类Dev

TypeError:onEmailBlur不是函数

来自分类Dev

TypeError:$ .debounce不是函数

来自分类Dev

TypeError:$(...)。children不是函数

来自分类Dev

TypeError:n不是函数

来自分类常见问题

TypeError:$(...)。DataTable不是函数

来自分类Dev

TypeError:Firebase不是函数

来自分类Dev

TypeError:$(...)。dialog不是函数

来自分类Dev

TypeError:kendoWindow不是函数

Related 相关文章

  1. 1

    typeerror undefined 不是 node js 中的函数

  2. 2

    Node.js:TypeError:对象不是函数

  3. 3

    TypeError:对象不是Node.js函数

  4. 4

    TypeError:undefined不是Node JS函数

  5. 5

    TypeError:promise.then(...)。then(...)。then(...)。then(...)。catch不是Node Js中的函数

  6. 6

    TypeError:回调不是Node.js中的函数

  7. 7

    TypeError:undefined不是Node.js中的函数

  8. 8

    TypeError:undefined不是Node.js中管道的函数

  9. 9

    TypeError:对象不是Node JS / socket.io中的函数

  10. 10

    TypeError:count 不是 node.js 和 sequelize 中的函数

  11. 11

    Javascript TypeError:...不是构造函数-如何从构造函数构造函数?

  12. 12

    Angular 如何修复 TypeError:getUnfinishedItemsNumber 不是函数?

  13. 13

    从导出的模块(node.js)访问函数

  14. 14

    TypeError:[函数名]不是函数,在mongoose和node.js中

  15. 15

    TypeError:[函数名称]不是函数,在mongoose和node.js中

  16. 16

    Node.js异步并行“ TypeError:任务不是函数”

  17. 17

    TypeError:不是Node和Express JS的构造函数

  18. 18

    Node.js TypeError:未定义不是函数

  19. 19

    如何在Node.js / Javascript中较小的嵌套函数中使用函数的参数?

  20. 20

    如何修复TypeError _interopRequireDefault不是Create React App中的函数

  21. 21

    如何修复TypeError _interopRequireDefault不是Create React App中的函数

  22. 22

    TypeError:onEmailBlur不是函数

  23. 23

    TypeError:$ .debounce不是函数

  24. 24

    TypeError:$(...)。children不是函数

  25. 25

    TypeError:n不是函数

  26. 26

    TypeError:$(...)。DataTable不是函数

  27. 27

    TypeError:Firebase不是函数

  28. 28

    TypeError:$(...)。dialog不是函数

  29. 29

    TypeError:kendoWindow不是函数

热门标签

归档