关于进一步完善组件类型声明的想法 #11740
Replies: 9 comments 14 replies
-
如果是多端同时运行调试呢? |
Beta Was this translation helpful? Give feedback.
-
抓取各家小程序类型已实现:https://github.com/robinv8/miniapp-types |
Beta Was this translation helpful? Give feedback.
-
抓取多端类型是个很好的方法,但是在开发环境动态生成不同端的类型文件并不是很合理,一方面来说有点消耗开发端的性能,另一方面并不能很好的适配多端并行的场景 |
Beta Was this translation helpful? Give feedback.
-
v1结合我生成的 JSON Schema 补充 Taro compontents 类型声明,便于和各家小程序组件属性保持一致。 |
Beta Was this translation helpful? Give feedback.
-
大事记第一版 PR 来了 #12441,该 PR 只包含同步后的组件类型声明文件,还未提交同步类型程序,原因如下:
|
Beta Was this translation helpful? Give feedback.
-
v2
|
Beta Was this translation helpful? Give feedback.
-
v3
|
Beta Was this translation helpful? Give feedback.
-
v4在 taro-docs 项目中提供 canIuse 的能力 初步方案 改进方案 |
Beta Was this translation helpful? Give feedback.
-
起因
开发 RN 时发现组件的部分属性有 ts 类型错误
但事实上,该属性在 RN 官方是支持的
刨根
引用组件的方式
在 `node_modules` 中发现有 2 个 components,查看 2 个库 `package.json` 的 name:
components
的 name 是@tarojs/components
components-rn
的 name 是@tarojs/components-rn
但在 Taro 配置中并非发现
alias
的功能,浏览源码发现是该插件babel-plugin-transform-imports-api
起的作用,除此之外的另一个好处在于,按需加载组件,减小包大小查看源码发现,三端共用一套类型声明,且类型不完善。
起初的想法,在现有的类型声明文件里补全所有的类型,但有些不妥,三端组件类型各有差异,写在一个文件,会有很多冗余字段,且不能 extends 各端已有的类型声明,目前的想法,如下图:
在
基础类型
上实现各端类型扩展,当执行npm run dev:*
时,动态生成该环境类型。目前正在实现中,大家有什么好的想法,可以交流一下。
Beta Was this translation helpful? Give feedback.
All reactions