位置: IT常识 - 正文

Vue3+TS+Vite 入门指南(vue3 ts知乎专栏)

编辑:rootadmin
Vue3+TS+Vite 入门指南

推荐整理分享Vue3+TS+Vite 入门指南(vue3 ts知乎专栏),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3+ts知乎,vue3 + ts,vue3 v-slot,vue3 ts知乎专栏,vue3 v-slot,vue3.0 ts,vue3+ts知乎,vue3 + ts,内容如对您有帮助,希望把文章链接给更多的朋友!

最近尝试上手 Vue3+TS+Vite,对比起 Vue2 有些不适应,但还是真香~

上手前先说下 Vue3 的一些变化吧~

Vue3 的变化

Vue3 带来的变化主要有以下几个方面:

使用层面

对比起 Vue2 启动速度快很多,新项目从 1s 升级到不到 500msvite.config.ts 配置文件修改后无需重启服务就能更新

代码层面

函数式编程,方便组合逻辑,如mixin容易命名冲突,数据来源不清晰新增 ref,reative API定义变量更好的 ts 支持组件文件中 template 模板内无需用根节点标签包着组件元素

底层设计

双向数据绑定从 defineProperty for in 循环变量改成 proxy。defineProperty 是改变原对象属性标签;而 proxy 未改变原对象,而是产生新的代理对象,js 引擎更喜欢稳定的对象重新定义 vdom 对比思路:区分动静态 dom,只对比动态数据 dom,用block 标记动态标签内部的静态标签使用最长递增子序列算法,找到所有不需要移动的元素compile 编译优化,把大量计算放在 node 层,最后浏览器只需执行最少的代码

底层设计层面的改变决定了 vue3 比 vue2 更快

下面介绍上手步骤~ (官网链接)

创建项目

使用 vite 命令创建初始项目

# npm 6.xnpm create vite@latest my-vue-app --template vue# npm 7+, extra double-dash is needed:npm create vite@latest my-vue-app -- --template vuecd my-vue-appnpm installnpm run devVite 配置

功能一致的配置大多跟 vue-cli 配置大同小异,不过多赘述

resolve

resolve.alias:当使用文件系统路径的别名时,请始终使用绝对路径。相对路径的别名值会原封不动地被使用,因此无法被正常解析。

/* vite.config.ts */resolve: { //文件系统路径的别名, 绝对路径 alias: { "@": path.resolve(__dirname, "src"), }}

sass配置

Vue3+TS+Vite 入门指南(vue3 ts知乎专栏)

安装sass依赖和配置 vite.config.ts 预定义全局变量

npm i sass -D/* vite.config.ts */css: { preprocessorOptions: { scss: { additionalData: '@import "./src/assets/scss/var.scss";' } }}

开启服务配置

开启 http 服务

/* vite.config.ts */server:{ host: 'dev.moon.cn', port: 3000}

开启 https 服务

/* vite.config.ts */let httpsConfig = { key: fs.readFileSync("C:/Users/ca/wps.cn/_wildcard.wps.cn+3-key.pem"), cert: fs.readFileSync("C:/Users/ca/wps.cn/_wildcard.wps.cn+3.pem")};server:{ https: httpsConfig, host: 'dev.moon.cn', port: 443, open: true}预构建依赖优化

默认情况下,Vite 会抓取你的 index.html 来检测需要预构建的依赖项。如果指定了 build.rollupOptions.input,Vite 将转而去抓取这些入口点。

optimizeDeps.include

默认情况下,不在 node_modules 中的,链接的包不会被预构建。使用此选项可强制预构建链接的包。

/* vite.config.ts */optimizeDeps: { include: ['axios'],},

optimizeDeps.exclude

在预构建中强制排除的依赖项。

eslint 配置

vue3 和 ts 的 eslint 配置需另外自行配置,除了需配置 eslint 规则外还需调整 vite 的相关配置,感兴趣的话可以看看我另一篇文章(内附配置解析),或者直接看完整源码,这里不做赘述。

TypeScript

TypeScript 是添加了类型系统的 JavaScript,适用于任何规模的项目,在编译阶段进行类型检查。

基础知识可直接看中文文档,英文比较好的小伙伴可以直接看官方文档,这里不做赘述,这里分享一些值得说的地方

类型/接口/泛型

类型:类型(type)不是定义一个新类型,而是一个类型别名,使类型更具体化

接口:接口(interface)则是描述一个对象的形状,对值所具有的结构进行类型检查。接口的作用类似于抽象类,不同点在于接口中的所有方法和属性都是没有实值的,换句话说接口中的所有方法都是抽象方法。接口主要负责定义一个类的结构,接口可以去限制一个对象的接口,对象只有包含接口中定义的所有属性和方法时才能匹配接口。同时,可以让一个类去实现接口,实现接口时类中要保护接口中的所有属性。

泛型:支持多种数据结构,有函数泛型,类泛型,接口泛型等。

你可能想问什么时候用类型,什么时候用接口?Typescript团队的建议是

可以使用接口就尽量使用接口,因为接口更灵活,更容易处理

很多时候 interface 和 type 是相同的,但有一个明显区别在于 interface 可以重复定义,类型注解会累加,而 type 重复定义会报错

类型
本文链接地址:https://www.jiuchutong.com/zhishi/290168.html 转载请保留说明!

上一篇:格雷厄姆海峡的阿德利企鹅,南极洲南极半岛 (© Nick Garbutt/Minden Pictures)(格雷厄姆岛)

下一篇:初雪与最后的秋色相会,日本 (© SpontaneousPictures/iStock/Getty Images Plus)(初雪与最后的秋天的区别)

  • 浅谈:网站上线之后应该如何推广(网站上线的流程)

    浅谈:网站上线之后应该如何推广(网站上线的流程)

  • google地球无法连接验证服务器以激活(google地球无法连接验证服务器)(google地球无法连接到登录服务器)

    google地球无法连接验证服务器以激活(google地球无法连接验证服务器)(google地球无法连接到登录服务器)

  • 华为荣耀v20与vivoiqoo对比(华为荣耀v20和华为v20一样吗)

    华为荣耀v20与vivoiqoo对比(华为荣耀v20和华为v20一样吗)

  • 为什么抖音的头像上有一个音符(为什么抖音的头像全变成一个戴帽子的图片)

    为什么抖音的头像上有一个音符(为什么抖音的头像全变成一个戴帽子的图片)

  • 页眉怎么设置成首页没有(页眉怎么设置成每个章节的题目)

    页眉怎么设置成首页没有(页眉怎么设置成每个章节的题目)

  • 米8短信闪退(miui12短信闪退)

    米8短信闪退(miui12短信闪退)

  • 雷雨天可以玩手机吗(雷雨天可以玩手机游戏吗)

    雷雨天可以玩手机吗(雷雨天可以玩手机游戏吗)

  • 快手退货商家一直拒绝(快手退货商家一直说没收到货怎么办)

    快手退货商家一直拒绝(快手退货商家一直说没收到货怎么办)

  • 手机录音怎么倍速播放(手机录音怎么倍速)

    手机录音怎么倍速播放(手机录音怎么倍速)

  • 双固态硬盘要注意什么(双固态硬盘影响性能吗)

    双固态硬盘要注意什么(双固态硬盘影响性能吗)

  • mqa52ch/a是什么版本(mqa52zaa是什么版本)

    mqa52ch/a是什么版本(mqa52zaa是什么版本)

  • 能不能把别人的微信推给别人(能不能把别人的微信信息导出来)

    能不能把别人的微信推给别人(能不能把别人的微信信息导出来)

  • 开通svip可以找回聊天记录吗(svip能干嘛)

    开通svip可以找回聊天记录吗(svip能干嘛)

  • 苹果手机恢复出厂设置后里面的图片还有吗(苹果手机恢复出厂后怎么恢复数据)

    苹果手机恢复出厂设置后里面的图片还有吗(苹果手机恢复出厂后怎么恢复数据)

  • 页眉页脚指哪里(页眉页脚指的是什么)

    页眉页脚指哪里(页眉页脚指的是什么)

  • iphone6是4g手机吗(苹果六是不是4g手机)

    iphone6是4g手机吗(苹果六是不是4g手机)

  • oppor系列是不是取消了(oppor系列是高端机吗)

    oppor系列是不是取消了(oppor系列是高端机吗)

  • 不是qq好友怎么发消息(不是qq好友怎么看对方个性签名)

    不是qq好友怎么发消息(不是qq好友怎么看对方个性签名)

  • ps怎么把图片变清楚(ps怎么把图片变清晰)

    ps怎么把图片变清楚(ps怎么把图片变清晰)

  • 什么视图方式不能编辑文档(视图模式不包括)

    什么视图方式不能编辑文档(视图模式不包括)

  • 手机qq群名片在哪里(qq上的群名片在哪)

    手机qq群名片在哪里(qq上的群名片在哪)

  • 优酷与土豆的关系(优酷和土豆是一家的吗)

    优酷与土豆的关系(优酷和土豆是一家的吗)

  • 苹果退出id照片还在吗(苹果退出id照片还会同步吗)

    苹果退出id照片还在吗(苹果退出id照片还会同步吗)

  • 路由器lan口和wan口(路由器lan口和wan口设置)

    路由器lan口和wan口(路由器lan口和wan口设置)

  • 5g的g是什么意思(1g2g3g4g5g的g是什么意思)

    5g的g是什么意思(1g2g3g4g5g的g是什么意思)

  • 每月计提什么费用
  • 增值税和购置税是一个东西吗
  • 采购砂石料无发票对税务有影响
  • 餐饮业增值税是多少
  • 应收账款计入借方贷方
  • 税务局季度报表怎么做
  • 广告传媒公司安全生产标准化
  • 转给个人账户的钱可以追回来了吗?
  • 商业银行退出
  • 房屋租赁发票可以抵扣增值税吗
  • 委托、受托出口做账有哪些事项?
  • 其他应收款通俗
  • 注销时分公司欠款怎么办
  • 合同印花税多交了怎么退
  • 已验旧和未验旧
  • 滴滴客运服务费发票税率
  • 未取得合法票据费用怎么算
  • 关于燃油消费税征收范围及税率
  • 拿到购房发票
  • 不应该计入管理费用的
  • 纳税人证明怎么办理
  • 一次发放数月的高温津贴如何计算个税?
  • 土地使用权出让金收费标准
  • 客户汇公司账户怎么汇
  • 固定资产的销售
  • 公司章程认缴时效是多久
  • 腾讯手游助手闪屏怎么办
  • 产品试用装怎么做会计分录
  • php介绍
  • RuntimeError: (PreconditionNotMet) The third-party dynamic library (cudnn64_7.dll) that Paddle depen
  • 月初在产品成本+本月生产费用
  • 债务重组亏损计入
  • 租房开的发票收的税怎么做账?
  • 推荐最好用的
  • win10下 yolov8 tensorrt模型加速部署【实战】
  • 博客管理系统开题报告
  • 路由加载的几种方式
  • audo命令
  • 帝国cms功能
  • python偏函数理解
  • 银行存款利息收入会计分录怎么写
  • 进项加计抵减会计分录怎么做
  • 帝国cms自定义列表
  • MySQL中使用_____语句更新表中的数据
  • 简易征收预缴税款
  • 增值税发票抵扣联的作用
  • 长期待摊费用的账务处理
  • 房屋租赁交的定金可以退吗
  • 外贸企业 生产企业
  • 企业所得税期间费用明细表
  • mysql的常用命令
  • 财产清查两种制度
  • 子公司注销母公司投资损失企业所得税
  • 实收资本为零该怎么办
  • 充卡送礼品送些什么好
  • 房地产行业账务处理和主要税种
  • 固定资产计提完折旧残值怎么处理
  • 退款产生的手续费怎么算
  • 税控盘全额抵减如何填写申报表
  • 划拨土地使用权管理暂行办法
  • 出租车票单张限额
  • 会计利润的计算公式是
  • mysql连接问题
  • windows怎么查看
  • linux lftp命令
  • cmd命令怎么进入d盘文件夹
  • win7推送win10
  • Win8.1 64位系统安装Office365出现30125-1011错误提示的故障原因及解决方法
  • dos命令提示符窗口怎么打开
  • windows 10预览版
  • win7系统的文件夹怎么挪位置
  • u3d怎么导入贴图
  • 慎用小儿百部止咳糖浆
  • linux怎么使用c语言
  • shell 数组变量
  • androidstudio如何放大代码
  • python toga
  • 国家税务总局39号文
  • 以出让方式取得的土地
  • 中山火炬开发区建设发展有限公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设