SDK API命名空间设计

时间:2019-06-26 20:48:37

标签: javascript node.js

我喜欢像命名空间一样实现以下示例:

const { SMS } = require('./custom-sdk')

const list = SMS.List();
let data = list.getData("ABC");

console.log(data)

我完全不知道如何实现这一点,我需要做些什么来设计这种API方法。

我已经尝试过将这样的文件保存在custom-sdk.js中:

module.exports = {
    SMS: function() {
        // ...
    }
};

1 个答案:

答案 0 :(得分:1)

类似下面的嵌套工作吗?

module.exports = {
    SMS: {
        List: function() {
            return {
                getData: function(arg) {
                    // get that data
                }
            }
        }
    }
};

我想您可以这样做SMS.List().getData('ABC')。也就是说,这似乎过于嵌套,除非您针对SO问题对其进行了简化。我建议仅在必要时使用函数(接受参数或实例化服务),并在可能的情况下仅使用普通对象:

module.exports = {
    SMS: {
        List: {
            getData: function(arg) {
                // get that data
            }
        }
    }
};