翻车小项目继续

项目使用的是 vue3 +ts 开发的用的是 vite脚手架,一直使用开发环境。直到有一天 想发布一个版本。 vue-tsc 运行 一推错误,一百多个错误。当时就懵圈了,开发运行都是可以的。一道编译就一推错误。

错误一:

项目中是这样子使用 axios的

在main.ts  引用 axios 然后  app.config.globalProperties.$axios=axios 全局。

组件中 通过getCurrentInstance()?.proxy?.$axios引用 

错误二 

vue-router和 suspense,异步 setup 一起使用是时候,莫名的会出现,parentNode 为null ,或者 emitOptions 为null;然后路由就失效,无论点那里都没有反应了。清理一下缓存,页面刷新一下就好了。

网上的一些方法也使用了,但是还是没有解决这个问题。如:suspense内使用一个根元素,组件名称和引用的名称需要不一样等等方案。

错误三,PropType 的使用 

interface Book{

title:string

author:string

}

 const props=defineProps<{      mybook:Object as PropType<Book>
 }>(); 但是  props.mybook.title 提示 title没有这个属性。   项目中遇到的另一个问题是sequelize的使用。大致的结构是,企业,需求,意向,订单。企业有多个订单,订单有多个意向,一个意向有一个订单。   一。企业和需求建立联系,需求和意向简历联系,但是查询的时候,不能自动的连起来。如,查询企业信息,包含需求信息,但是无法在包含意向信息。理想的结构是查询公司信息可以包所有的关联都查出来,包括所有的嵌套关联,如 返回的结构 {   企业信息:   {      需求信息:[           {              意向信息:                   {                   订单信息:{}                   }           }         ]   } }   二。 在获取需求信息的时候,无法获取企业信息。如,获取这个公司的所有需求,需要带上公司名称,但是无法关联上。这个需求是通过子查询实现的。

一次使用vue +ts 的一点感受:

使用ts之后,在编码的时候有提示,防止变量类型错误等等优点。只是这些优势,需要增加不少的代码量。其次就是使用第三方插件的时候,可能需要修改第三方插件的ts定义。对于接口返回的类型。理想状况下是都需要定义出来的。个人觉得 对于一个项目来说,ts有些繁琐,不太适合。

第一次使用vue3+ts开发项目,还在学习中。如果有大神知道以上问题的原因,还请帮忙解惑。

 

上一篇:Android Binder学习趣事


下一篇:【无标题】