javascript - SDK API 命名空间设计
问题描述
我喜欢像这样的命名空间来实现这样的例子:
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() {
// ...
}
};
解决方案
像下面的嵌套工作吗?
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
}
}
}
};
推荐阅读
- javascript - 我可以使用 Tensorflow.js 进行无监督学习吗?
- javascript - 在 youtube iframe 中隐藏相关视频
- php - 尝试连接到 Azure SQL 服务器时,我得到一个 PDOException 找不到驱动程序
- html - 如何控制 div 和 svg 的位置
- wpf - XAML WPF 中 {x:Static} 和 {StaticResource} 之间的区别
- css - 从另一个元素引用元素元素选择器
- dax - 月切片器和筛选器在滚动数据 Power BI 上无法正常工作
- java - java.net.HttpClient 状态为 CLOSE_WAIT 的连接泄漏
- ios - Moya中的参数编码
- javascript - 谷歌浏览器控制台,显示javascript代码有问题