抱歉,如果这是一个非常明显的事情,但这是我在 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/