gpt4 book ai didi

javascript - 我需要在以下 JavaScript 代码中导出辅助函数吗?

转载 作者:太空宇宙 更新时间:2023-11-04 02:57:43 24 4
gpt4 key购买 nike

抱歉,如果这是一个非常明显的事情,但这是我在 javascript 中处理在 node.js 中导出模块的第一个作业。

我有两个文件:1) ADT.js 和 2) main.js。我正在尝试将 ADT.js 的一些功能导出到 main.js

这是ADT.js中的代码:

module.exports = {};
var exports = module.exports;

var wordCount = function(text) {

var data = readFile(text);

if(checkEmptyFile(data)){
return null;
} else {
// do something
}
};

//==================== Helper Functions ==================================
function readFile (file){

var fs = require('fs');
var data = fs.readFileSync(file, "utf8");

return data;
}

function checkEmptyFile(data){

if(data.replace(/\s+/, '') === ''){

return true;
}
}

/** adding the functions to the exports module */
exports.wordCount = wordCount;

main.js 中的代码:

 /** Importing the data_structures.js module  */
var adt = require("./ADT");

var main = function(...){

if (firstWord === ""){
console.log(...);
} else {
makePoem(...);

if(printResult === true){
console.log("Word Count: "+
JSON.stringify(adt.wordCount(fileName)));
console.log("");
}
}
};

var makePoem = function(...){

...;
};

我还需要导出辅助函数吗?我不会在 main.js 中的任何位置显式使用辅助函数。

最佳答案

从模块导出函数的目的纯粹是为了使其可供其他模块使用。如果该函数仅在当前模块中使用,并且您打算保持这种状态,那么就没有理由导出它。

您可以认为在模块内定义的函数,但不导出为模块私有(private)的“本地”函数。您可以在定义它们的模块内的任何位置使用它们,但不能从其他模块调用它们。导出它们的行为(将它们分配为 module.exports 的属性)使它们可以从外部世界调用。

关于javascript - 我需要在以下 JavaScript 代码中导出辅助函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32982319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com