位置: 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)(初雪与最后的秋天的区别)

  • 小米笔记本怎么恢复出厂设置(小米笔记本怎么设置u盘启动)

    小米笔记本怎么恢复出厂设置(小米笔记本怎么设置u盘启动)

  • 苹果手机怎么开分身(苹果手机怎么开美颜功能)

    苹果手机怎么开分身(苹果手机怎么开美颜功能)

  • 双模5g和全网通5g有什么区别(双模5g和全网通5g哪个好)

    双模5g和全网通5g有什么区别(双模5g和全网通5g哪个好)

  • 苹果手机怎么添加录屏功能(苹果手机怎么添加铃声)

    苹果手机怎么添加录屏功能(苹果手机怎么添加铃声)

  • QQ红包发多少会闪光(qq红包发多少会闪光)

    QQ红包发多少会闪光(qq红包发多少会闪光)

  • 文件aaa.exe是一个什么文件(aaa是什么文件夹)

    文件aaa.exe是一个什么文件(aaa是什么文件夹)

  • word中pt什么意思(word中^p^p是什么意思)

    word中pt什么意思(word中^p^p是什么意思)

  • 华为应用市场没有微信怎么下载(华为应用市场没有交管12123)

    华为应用市场没有微信怎么下载(华为应用市场没有交管12123)

  • 7p跟8p有什么区别(7p和8p什么区别)

    7p跟8p有什么区别(7p和8p什么区别)

  • 苹果11下面两个喇叭为什么只会响一个(苹果11下面两个喇叭没有声音)

    苹果11下面两个喇叭为什么只会响一个(苹果11下面两个喇叭没有声音)

  • nova7顶部那个是红外吗(华为nova7顶上左边的标志都是什么)

    nova7顶部那个是红外吗(华为nova7顶上左边的标志都是什么)

  • 如何让airpods发出滴滴声音(怎样让airpods发出提示音)

    如何让airpods发出滴滴声音(怎样让airpods发出提示音)

  • 苹果11在阳光下怎么都看不清(苹果11在阳光下亮度最高了还是看不清)

    苹果11在阳光下怎么都看不清(苹果11在阳光下亮度最高了还是看不清)

  • 内存坏了会出现什么现象(内存坏了会影响开机吗)

    内存坏了会出现什么现象(内存坏了会影响开机吗)

  • 苹果11实体店分期要求(苹果实体店分期需要什么条件)

    苹果11实体店分期要求(苹果实体店分期需要什么条件)

  • 为什么airpods连上后还是外放(为什么airpods连不上)

    为什么airpods连上后还是外放(为什么airpods连不上)

  • 淘宝盖楼是什么意思(淘宝盖楼有什么用)

    淘宝盖楼是什么意思(淘宝盖楼有什么用)

  • 小红书苹果怎么下载不了(小红书苹果怎么保存图片)

    小红书苹果怎么下载不了(小红书苹果怎么保存图片)

  • 蜂窝移动网络错误是怎么回事(蜂窝移动网络错误无服务)

    蜂窝移动网络错误是怎么回事(蜂窝移动网络错误无服务)

  • 计算机百分比计算公式(计算机百分比计算方法)

    计算机百分比计算公式(计算机百分比计算方法)

  • airpods1和2包装区别(airpods1和2包装一样吗)

    airpods1和2包装区别(airpods1和2包装一样吗)

  • Win10系统怎么设置程序在指定CPU上运行?(win10系统怎么设置锁屏壁纸)

    Win10系统怎么设置程序在指定CPU上运行?(win10系统怎么设置锁屏壁纸)

  • Windows 11上手初体验:任务栏和开始菜单等迎来大改(windows11ie)

    Windows 11上手初体验:任务栏和开始菜单等迎来大改(windows11ie)

  • Batchsize的大小怎样设置?Batchsize过大和过小有什么影响(batch size 大小)

    Batchsize的大小怎样设置?Batchsize过大和过小有什么影响(batch size 大小)

  • 二手房交易需缴纳哪些费用
  • 公司帮员工全额缴纳五险一金
  • 预计负债的三个基本要素
  • 连锁店每个店都要独立核算吗
  • 现金预算表中的利息怎么算
  • 应税服务零税率是什么
  • 企业接到银行通知,借入长期借款的应付利息为15000
  • 开发票具体内容超过经营范围还可以开吗?
  • 公司每年都要纳税吗?
  • 发票丢失联次
  • 以前年度损益调整会计分录
  • 小规模纳税人适用的增值税征收率
  • 认缴出资未缴纳公司可以减资吗
  • 罗马尼亚卫生部长
  • 个税汇算清缴包含退休金吗
  • 电脑安装的软件桌面上没显示
  • 增值税四个税种
  • 低值易耗品处理的目的
  • 股东分红的会计科目怎么做
  • 路由器网速太慢了怎么回事
  • php计算时间
  • 预付账款退款怎么做会计分录
  • ajax调用php函数
  • mmcexe进程异常报错
  • 树上有只松鼠简笔画
  • 马齿苋的功效与作用的功能与主治与用量
  • macOS 11 Big Sur 开发者预览版 Beta 8推送
  • 弗拉维亚王朝
  • 税票报税怎么弄
  • 钉钉工资表如何生成工资条?
  • 主营业务收入借贷方向
  • .net tpl
  • 长期股权投资会计准则
  • 出口信用保险补贴是否不征税收入
  • 应收账款坏账准备计提方法
  • 母子公司之间的租赁房屋
  • 房地产企业所得税计算方法
  • 所得税汇算清缴需要调增的项目
  • 其他应收款如何平账
  • 先息后本贷款利息计算器
  • 企业的管理费用,财务费用和销售费用计不计成本呢
  • 公司购买银行理财产品账务处理
  • 企业的业务招待费属于什么费用
  • 车间里停止生产怎么办
  • 提取维简费分录
  • 企业清算未分配利润怎么交税
  • 职工福利费支出不超过工资薪金总额的
  • 房屋租赁费计入什么会计科目
  • 无形资产与固定资产一样都会存在实体性贬值
  • 固定资产会计账簿
  • 所有者权益增加额怎么计算
  • 采用补偿贸易方式的是
  • Windows10下MySQL5.7.19安装教程 MySQL忘记root密码修改方法
  • mysql的外键
  • centos7怎么变成图形化界面
  • win7无法开机怎么进入安全模式
  • linux怎么格式化硬盘
  • win10系统下怎么安装caxa2016电子图板 caxa2016电子图板安装详细图文教程
  • Win7系统如何查看隐藏文件
  • android app启动过程
  • js基于什么语言
  • jquery实战
  • iredmail是免费的吗
  • 日常办公常用的批处理脚本
  • iframe 自适应宽度和高度
  • css样式表实验心得
  • 一起学写字的宣传文案
  • linux内核结构详解
  • 怎样在手机上查询社保缴费情况
  • android遇到的难题,怎么解决的
  • js正则检验手机号
  • Android 添加数据到本地Excel表
  • 冲红和红冲的区别
  • 医保预交金可以取出来吗
  • 怎么在国税网站取消已申报的财务报表
  • 税务函调回来几天可以退税
  • 2022年企业所得税税率2.5% 10% 25%
  • 湖南银税进件中心
  • 美国纽约购物
  • 什么是审计的重要特征,也是审计的精髓
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设