MessageHandler.HandleMessage(message);
这个问题似乎有两个部分,但我认为它们之间可能有重叠。
我正在制作一个非常简单的Node应用程序,从理论上讲,我可以将我所有的功能都放在同一个JS文件中。但是,像C#(理论上可以将所有类放在同一页上)一样,这将变得非常混乱,并且可能被认为是不好的做法。
我具有基本的节点生成结构(如sublime Explorer中所示):
但是我不确定在哪里放置 standard 来开始放置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.
类型错误。我没有看到结构或范围问题吗?
答案 0 :(得分:0)
实际上,您的代码是正确的,但几乎不需要添加,您需要导出所需的函数以在另一个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');