从另一个JS文件和节点目录结构调用函数

詹姆士

MessageHandler.HandleMessage(message);这个问题似乎有两个部分,但我认为它们之间可能存在重叠。

我正在制作一个非常简单的 Node 应用程序,理论上我可以将所有函数放在同一个 JS 文件中。然而,就像 C#(理论上你可以将所有类放在同一页面上)一样,这会很快变得混乱,并且可能被认为是不好的做法。

我有基本的节点生成结构(如 sublime explorer 所示):

在此处输入图片说明

但我不确定我开始放置 JS标准位置在哪里

循环回到我问题的第一部分,我有这个非常简单的代码。

    //file: MyNode.js
    const MessageHandler = require('MessageHandler.js');
    var message = "Hello world!";
    MessageHandler.HandleMessage(message);

和:

    //file: MessageHandler.js
    function HandleMessage(message)
    {
        Console.log('Message is this: ' + message);

    }

它们位于同一文件目录中,但在执行过程中出现HandleMessage is not a function.类型错误。是否存在我没​​有看到的结构或范围问题?

阿布舍克·乔塔姆

实际上,您的代码是正确的,但几乎不需要添加,您需要导出所需的函数以在另一个 js 文件中公开或使用。

// a.js
anyFun() {
// body
}

you can use module.exports = anyFun;

//b.js

let a = require('./a')

a(); 

    In your case:

    //file: MessageHandler.js
       module.exports.HandleMessage = function HandleMessage(message)
    {
        console.log('Message is this: ' + message);

    }

   //file: MyNode.js

  let demo = require("./MessageHandler");

  demo.HandleMessage('hello');

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章