我很好奇以下方法是否是使用module.exports功能的好方法。 如果是这样,为代码添加注释的最佳方法是什么,以便JSDoc3可以正确处理它。
我目前正在按如下方式导出功能:
假设我们有一个带有以下代码的module1.js:
/**
* Module1 module
* @module Module1
*/
module.exports = {
// no jsdoc commentary on purpose
function1: function(param1) {
function1(param1);
},
/**
* Function2
*
* Function that will do something
* @returns {boolean} return value
*/
function2: function() {
return function2();
},
}
/**
* Function1
*
* Function that will do something
* @param param1 {string} First parameter
*/
function function1(param1){
console.log(param1);
// do something
}
/**
* Function2
*
* Function that will do something
* @returns {boolean} return value
*/
function function2() {
// do something
return true;
}
并在module2.js
中/**
* Module2 module
* @module Module2
*/
// Requirements
module1 = require('./module1.js');
/**
* myFunction
*
* Function that will do something
*/
function myFunction() {
const param1 = "Parameter1";
module1.function1(param1); // call function1 from module 1
}
// just an example of function2 in module2.js
const myBoolean = module1.function2();
// more stuf
这种方法的问题是,function1现在只在jsdoc文件中被描述为'inner'(本地)函数,而function2现在将在生成的jsdoc文件中复制为'static'(导出的)和一个作为'内在'(本地)功能。
为什么采用这种方法:
这种方法的原因是:我不想在导出的函数中使用任何功能。我希望其他开发人员能够轻松查看导出的函数。因此,真正的功能放在导出下面的本地函数中。
问题:
这是使用模块导出的正确方法吗?
这是评论代码的正确方法吗? (对于JSDoc3)
ps:我很熟悉NodeJS