从另一个 JS 文件和节点目录结构调用函数
Calling a function from another JS file And Node Directory Structure
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');
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');