• 翻车小项目继续


    项目使用的是 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 SQLite 简单使用演示样例
    经常使用排序算法实现[交换排序之冒泡排序、高速排序]
    Spring In Action读书笔记
    Linux 经常使用快捷键
    Android组件系列----ContentProvider内容提供者【1】
    Android Stuido 好卡怎么办?不要急,兄弟来教你
    【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记3 Xcode、Auto Layout及MVC
    JAVA学习第四十五课 — 其它对象API(一)System、Runtime、Math类
    hdu 5073 Galaxy
    从设计稿到demo
  • 原文地址:https://www.cnblogs.com/xgq2014/p/15543342.html
Copyright © 2020-2023  润新知