|
|
|
@ -45,26 +45,7 @@ kicc-ui 是基于vben Admin的模板开发,使用了最新的`vue3`,`vite2`,`T
@@ -45,26 +45,7 @@ kicc-ui 是基于vben Admin的模板开发,使用了最新的`vue3`,`vite2`,`T
|
|
|
|
|
#2.打包前应该如何执行typescript类型检查 |
|
|
|
|
- **vite是不支持typescript类型检查,因为没必要,现在的开发工具都是支持eslint的,让开发工具接管类型检查就行啦** |
|
|
|
|
- **vite官网TypeScript介绍:https://vitejs.bootcss.com/guide/features.html#typescript** |
|
|
|
|
- **注意:既然vite不支持typescript类型检查,那我们就应该要在发布编译阶段手动检查类型,要不然完全体现不出typescript在项目中的作用,使用了typescript就应该要检查代码是否符合类型规范** |
|
|
|
|
```vue |
|
|
|
|
// 目前项目中有两者打包前检查方案 |
|
|
|
|
// vue-tsc: 针对vue文件的ts类型检测,不推荐使用,当前项目vue模板中很多组件库对类型的定义似乎不是那么完整 |
|
|
|
|
// 列如如下这段代码的 placeholder 属性这样的使用方法是正确的 ant-design-vue 官网例子上也是支持这种写法的,代码运行起来也是没有任何问题的 |
|
|
|
|
// 由于项目是局部引入,没有全局引入,貌似只有局部引入才会出现下列问题,全局引入不会 |
|
|
|
|
// 但是由于内部类型定义为 string 没有定义为 string | string[] 从而在检查时候报 |
|
|
|
|
// error TS2322: Type 'string[]' is not assignable to type 'string'. |
|
|
|
|
// 项目中还有类似的还有很多组件库也出现这种问题比如 class 属性等等,包括自己定义的组件也出现了很多类型检测问题,类型规范定义太严格了,往往会影响开发效率,因为需要写很多的类型规范 |
|
|
|
|
// 所以选择将 vue <template></template> 这部分的组件ts校验不要了,放宽松类型检测,只检测 typescript 代码,自己编码的时候注意一下组件的类型就行 |
|
|
|
|
// 打包发布是使用项目中的 lint:eslint 检测 typescript 代码就可以了,不使用 vue-tsc 检测组件部分的类型 |
|
|
|
|
|
|
|
|
|
// vue3 局部引入 |
|
|
|
|
const ARangePicker = DatePicker.RangePicker; |
|
|
|
|
<ARangePicker v-model:value="state.dateRange" |
|
|
|
|
style="width: '100%'" |
|
|
|
|
valueFormat="YYYY-MM-DD" |
|
|
|
|
:placeholder="['开始日期', '结束日期']" |
|
|
|
|
/> |
|
|
|
|
``` |
|
|
|
|
- **注意:既然vite不支持typescript类型检查,那我们就应该要在发布编译阶段手动执行 vue-tsc 命令检查类型,要不然完全体现不出typescript在项目中的作用,使用了typescript就应该要检查代码是否符合类型规范** |
|
|
|
|
|
|
|
|
|
## 🗽 启动项目 |
|
|
|
|
|
|
|
|
|