typescript vuex_vue3.0 beta+typescript初体验

4c2391974c26def5a250cb7cbb19e375.png

Vue3.x 设计目标

  • 更小更快 - Vue 3.0大小大概减少一半,只有10kB
  • 加强TypeScript支持
  • 加强API设计一致性 - 易读
  • 提高自身可维护性
  • 开放更多底层功能
9dd3d828891b1576b8970cf1745e8d8e.png

vue3.x 采用Function-based API 形式组织代码,使其更容易压缩代码且压缩效率也更高,由于修改了组件的声明方式,以函数组合的形式完成逻辑,完美与typescript相结合。

注意:vue2.x中的组件是通过声明的方式传入一系列options的,所以在2.x下使用typeScript 需要装饰器的方式vue-class-component才行

// vue2.x 要想使用ts 需要这样处理,详见官方文档 https://cn.vuejs.org/v2/guide/typescript.html
e9bb81ae0334800918025f31998c8b70.png

二、typescript 有什么优点

1、增加代码的可读性与可维护性

  • 大部分函数看类型定义就知道是干嘛的
  • 静态类型检查,减少运行时错误

2、社区活跃,众多技术大佬

  • 在vue3热潮下,之后typescript要成为主流

三、搭建vue3.x + typescript + vue-router 环境

  • 全局安装vue-cli脚手架
npm install -g @vue/cli
  • 初始化vue项目
vue create vue-next-project

输入命令后,需要选择Manually select features, 至少要把 babel typescript router 选上,(vuex 看自身情况是否需要)如下图:

fef24aefdc71820ec0f7dcaa81adbfaa.png
  • 升级为v3.x项目
cd vue-next-projectvue add vue-next

这个命令会自动帮你把vue2.x升级到vue3.x ,包括项目中对应的依赖进行升级与模板代码替换,像:vue-router vuex

完成以上三步主体环境算搭建完成,看刚才创建的目录里多了个tsconfig.json 配置文件,可以根据自身与项目需要,进行配置。

接下来需要简单处理一下,使其支持typescript形式。(模板cli还没完善typescript的模板代码)

6d0eb8c2e17b52c1faeb546c6e75fdff.png
  • 将shims-vue.d.ts文件中的内容修改一下,这步操作应该会少了一些报错。
// declare module "*.vue" {//   import Vue from 'vue';//   export default Vue;// }declare module "*.vue" {    import {defineComponent} from 'vue'    const Component: ReturnType;    export default Component}
  • 组件里使用需声明 script lang="ts" ,然后用defineComponent进行包裹,即可。
b677b019051927c34dadd340060b9cde.png

❤️ 最后

如果你觉得这篇内容对你有帮助,点个「关注/转发」,让更多的人也能看到这篇内容!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值