wechat-miniprogram / api-typings

Type definitions for APIs of Wechat Mini Program in TypeScript
MIT License
742 stars 112 forks source link

Feature Request: 代码模块化 #254

Open xiaoxiangmoe opened 2 years ago

xiaoxiangmoe commented 2 years ago

https://github.com/wechat-miniprogram/api-typings/blob/aa73e6bc46f697f491fff99178a45f0401b74e8b/types/wx/lib.wx.page.d.ts#L254

在微信小程序中,我们把类型和类型的全局变量放到了一个文件里。


而在支付宝小程序中:

https://github.com/ant-mini-program/api-typings/tree/main/packages


模块化之后,对于跨平台的小程序库的开发,将会有极大帮助。因为库作者可以从 @mini-types/my 导入类型,而不导入类似 @mini-types/global 这样的全局变量,不会出现全局变量冲突。

现在 uniapp,支付宝小程序,微信小程序,都导出了 Page,App 等全局变量,很容易冲突。作为库的作者,希望不导入其中的任何一个全局变量。但是为了能走其类型检查,则希望导入类型。

另外,如果 A 库用了 @types/wechat-miniprogram,B 库用了 miniprogram-api-typings。则他们也会出现类型冲突。如果把代码模块化后,这个问题也会被解决。

请问一下,微信小程序也能支持类型模块化吗?


如果有兴趣的话,我可以一起参与改造。

Mister-Hope commented 2 years ago

我真心认为这是一个不错的建议,尤其是目前有两个包名都在发同样内容的情况下。