[英]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');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.