首页 > 解决方案 > Typescript 库的设计模式

问题描述

我想开发一个像这样工作的 javascript/typescript 库:

import mylibrary from 'mylibrary'

mylibrary.config({
  token: 'myRandomString'
})

mylibrary.users.get({
  id: 'userIdString'
})

mylibrary.users.create({
  username: 'userName'
})

mylibrary.products.get({
  title: 'productTitle'
})

mylibrary.products.create({
  title: 'productTitle'
})

使用config()函数,我将设置使库正常工作所需的所有数据。这只需要做一次。

然后在里面mylibrary我有不同的对象,方法几乎相同,在上面的例子中usersproducts.

我试图找到在打字稿中实现这种模式的最佳方法。我不想实例化一个类。我的模式被认为是单例吗?

您将如何在 typescript 中处理这种模式?

我的图书馆是这样开发的,好主意吗?

const mylibrary:IMyLibray = {
  
  token: '',

  config(param:ConfigType){
    ...
  },

  users: {
    create(param:CreateTypeInput){
      ...
    }
  },

  ...
  
}

ps:我想做一个像Stripe这样可以在浏览器和服务器上使用的库。

谢谢

标签: typescriptdesign-patternssingleton

解决方案


推荐阅读