工作中我们使用的部分 typescript + Vue + Element-ui.
最近想尝试下用 Class 的风格写组件, 更多的引入类型来约束开发, 提高体验. 所以本周开了一个仓库.
选定目标为 iview-admin (iview 之前没用过,所以顺便搞下)
引入 vue-class-component/vue-property-decorator/vuex-class
逐个组件/页面转为 typescript 和 class 风格
地址:
https://github.com/dreambo8563/typescript-iview-admin
总结:
体验还不太行. 类型提示甚至会错误显示(不知道是不是 vscode 的问题 )
jsx 的使用没有找到办法, 部分代码我只能转换为 render 函数来搞
有些第三方没有 typings, 不得不用 any.
当然在 ts 的加持下,发现了原仓库代码的一些问题, 比如很多 undefined 的情况没有判断处理, 还有未使用的函数.
使用未声明的变量等等
所以这次花了几天时间做这个实践还是有意义的. 3.0 稳定之前不宜全面使用 Class 风格来搞组件.