这是使用module.exports的好方法吗?

时间:2018-03-15 13:57:02

标签: node.js jsdoc3

我很好奇以下方法是否是使用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

0 个答案:

没有答案