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

  • 浅谈企业站站内博客优化细节(浅谈企业站站内营销策略)

    浅谈企业站站内博客优化细节(浅谈企业站站内营销策略)

  • 苹果充电器是几伏几安(苹果充电器是几伏几安的)

    苹果充电器是几伏几安(苹果充电器是几伏几安的)

  • 微博可以查到谁来访吗(微博可以查到谁举报自己吗)

    微博可以查到谁来访吗(微博可以查到谁举报自己吗)

  • pad怎么关闭所有运行程序(怎样关掉ipad)

    pad怎么关闭所有运行程序(怎样关掉ipad)

  • oppo手机怎么让应用一直运行(oppo手机怎么让时间显示在右上方)

    oppo手机怎么让应用一直运行(oppo手机怎么让时间显示在右上方)

  • 抖音怎么设置不在线(抖音怎么设置不在线状态)

    抖音怎么设置不在线(抖音怎么设置不在线状态)

  • 值传递和地址传递的区别(值传递和地址传递的方式)

    值传递和地址传递的区别(值传递和地址传递的方式)

  • ipadmini5电池容量(ipadmini5电池容量掉的很快)

    ipadmini5电池容量(ipadmini5电池容量掉的很快)

  • qq没有续费却一直是会员(qq没开自动续费却有vip)

    qq没有续费却一直是会员(qq没开自动续费却有vip)

  • qq共同好友怎么关闭(qq共同好友怎么找出来具体的人)

    qq共同好友怎么关闭(qq共同好友怎么找出来具体的人)

  • 计算器sin30怎么按(计算器上的sin30度怎么用)

    计算器sin30怎么按(计算器上的sin30度怎么用)

  • 抖音歌曲版权原因限制分享怎么解决(抖音 bgm 版权)

    抖音歌曲版权原因限制分享怎么解决(抖音 bgm 版权)

  • vivo打字键盘变小了怎么办(vivo手机键盘变小怎么调回来)

    vivo打字键盘变小了怎么办(vivo手机键盘变小怎么调回来)

  • 苹果x消息闪光灯怎么设置(苹果x消息闪光灯怎么关)

    苹果x消息闪光灯怎么设置(苹果x消息闪光灯怎么关)

  • r9s听筒声音很小是通病

    r9s听筒声音很小是通病

  • 顺风车注销了还能注册吗(顺风车注销后再注册)

    顺风车注销了还能注册吗(顺风车注销后再注册)

  • 怎样设置软件密码锁(怎样设置软件密码锁 oppo)

    怎样设置软件密码锁(怎样设置软件密码锁 oppo)

  • 怎样进入快手粉丝团(怎样进入快手粉丝群)

    怎样进入快手粉丝团(怎样进入快手粉丝群)

  • excel如何使用合并计算(excel合并功能怎么用)

    excel如何使用合并计算(excel合并功能怎么用)

  • 如何解决苹果xr断网(如何解决苹果xr发烫)

    如何解决苹果xr断网(如何解决苹果xr发烫)

  • smart基本维恩图在哪(pptsmartart基本维恩图怎么找)

    smart基本维恩图在哪(pptsmartart基本维恩图怎么找)

  • 拼多多怎么扫描二维码(拼多多怎么扫描二维码找商品)

    拼多多怎么扫描二维码(拼多多怎么扫描二维码找商品)

  • 快手极速版怎么注销手机号(快手极速版怎么卡无限金币)

    快手极速版怎么注销手机号(快手极速版怎么卡无限金币)

  • 移动卡停机多久消号(手机卡放手机里无服务是怎么回事)

    移动卡停机多久消号(手机卡放手机里无服务是怎么回事)

  • 手机号异常是怎么回事(手机号异常是怎么恢复)

    手机号异常是怎么回事(手机号异常是怎么恢复)

  • 抖音直播游戏怎么弄(抖音直播游戏怎么直播)

    抖音直播游戏怎么弄(抖音直播游戏怎么直播)

  • vivox9plas恢复出厂在哪里(vivox9splus恢复出厂)

    vivox9plas恢复出厂在哪里(vivox9splus恢复出厂)

  • 魅族16如何关机(魅族如何关机?)

    魅族16如何关机(魅族如何关机?)

  • 装修设计合同印花税
  • 小规模企业开具普通发票月如何做账
  • 减值准备为什么影响利润总额
  • 小规模季度30万免税
  • 粗纤维测定仪使用方法
  • 如何审计主营业务的真实性
  • 实收资本在利润表中怎么体现出来
  • etc预付发票可以抵税吗
  • 发票专用章章号是什么
  • 工会福利费列支范围
  • 收益性支出应计入产品成本对吗
  • 收回赔款会计分录
  • 报税显示未进行抄报税
  • 收藏!广告制作税收分类编码总结
  • 合并报表的收入
  • 退回押金如果要退回吗
  • 做买卖交税
  • 单位购买短期保本理财产品如何做账?
  • 在线网速测试网站测速工具
  • 苹果mac有hdmi
  • win10要更新系统
  • 印花税的会计处理是什么
  • 小企业会计准则下融资租入固定资产的核算
  • 公司主要开支是指什么
  • 埃热泽尔斯湖面上的波纹,拉脱维亚拉特加尔地区 (© Eaglewood Films/Nimia)
  • 项目优化管理工具
  • 给客户回扣如何做账
  • 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
  • PHP:imagefilledarc()的用法_GD库图像处理函数
  • 工资应发数就是企业的成本
  • 固定资产评估如何做
  • php实现分页查询
  • uniapp开发常用案例
  • php 下载上传文件
  • 应付账款调整为其他应付款
  • 往来款的意思
  • 出纳把现金存入私人账户后转公账
  • python如何合并字典
  • 流动比率中的流动资产包括哪些科目
  • 项目差旅费能计入项目费用吗
  • 公司吸收合并流程详细步骤
  • 工业企业存货核算方法
  • 烟草的发票可以报销吗
  • 营业外支出账户核算的主要内容有
  • 分红是怎么分的?
  • 发票冲红重开摘要如何写合适?
  • 企业技术转让会计分录
  • 期初应收账款对应什么科目试算平衡
  • 补交以前年度增值税如何入账
  • 应收账款的会计要素
  • 因质量问题对方直接扣款也不开票
  • 汇算清缴步骤及处理方法
  • 材料款已付,发票没来
  • 公司名义送花篮属于什么费用
  • 事业单位装修费账务处理
  • 对公账户明细入账怎么查
  • 电子钥匙在线服务
  • 资产负债表不平最简单的方法
  • 税收会计采用什么记账法
  • mysql 5.6 5.7
  • win10预览版和正式版区别
  • windows自动执行
  • linux常用命令修改
  • centos直接进入命令行
  • 电脑bios怎么设置usb启动
  • win8系统怎么做系统
  • win系统找回删除文件
  • win10预览设置
  • node.js安装后自带哪个工具
  • android layer
  • 安卓手机wifi界面
  • mono为什么不能用了
  • node.js golang
  • Android使用领域(移动端,PC,服务端)
  • android开发遇到的技术难点
  • 深入JavaScript高级语法
  • 贵州省发票流向查询
  • 车船使用税2021
  • 印花税由哪方缴纳
  • 季度财务会计报告怎么写
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设