一、简介
TypeScript是ECMAScript 2015的语法超集,是JavaScript的语法糖。JavaScript程序可以直接移植到TypeScript,TypeScript需要编译(语法转换)生成JavaScript才能被浏览器执行。
个人理解:TypeScript是对js的进一步语法强化,通俗点来说,js可以用在ts里,是包含关系,而ts则更强调对出入参及类的声明定义,对数据有更精确的要求,语法也有其对应的写法,具体可以看以下文档指南,一开始使用会比较恶心,后面用的多了确实很香
学习文档
1.中文官网:www.tslang.cn/docs/home.h…
二、TS适用场景
中大型项目,需要长期维护的项目,底层库or框架; 上一条的前提是,项目主要依赖的类库对TS支持良好,最好有业界的先行案例,所以用一些冷门框架或者小项目的时候不用,TS没问题,框架也没问题,框架+TS会有很多问题,小项目没必要。
三、工程项目实例
待定
2.目录结构(非全部)
四、结构说明及注意事项
1.kobe.config.js配置 新增wbepack的ts编译配置规则。
2.界面的type.tsx配置
所有的基础type定义都是基于@alipay/kobe-types,ts的类型声明主要是看.d.ts文件。
1)type字段描述
界面的type字段对应初始化后都可以看到英文描述,对个人理解是:
InitData{} => store的initData
Reducers {} => store的reducers内的方法声明,写一个就要定义一个,主要声明方法类型
Asyncs {} => store的asyncs接口请求方法,同上,入参也需要声明类型
IndexState{} => 界面的state参数类型声明,一般用不到,属于react.component<props,state>的第二个参数类型声明,一般我就在类内部public state{} 声明就好。
IndexProps{} => 界面的props传参声明,及this.props内的参数声明,要注意的是store的initdata的参数也要在{}里添加定义,否则界面里会有ts检测报错,属于react.component<props,state>的第一个参数类型声明。
IndexStore{} => store的声明,包含store所有方法的声明。