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

  • QQ邮箱邮件转发怎么转发(qq邮箱邮件转发功能在哪)

    QQ邮箱邮件转发怎么转发(qq邮箱邮件转发功能在哪)

  • 苹果6手机触屏点不动怎么办(苹果6手机触屏不灵敏怎么调整)

    苹果6手机触屏点不动怎么办(苹果6手机触屏不灵敏怎么调整)

  • 华为p30锁屏时间怎么移动到下方(华为P30锁屏时间位置怎么移动)

    华为p30锁屏时间怎么移动到下方(华为P30锁屏时间位置怎么移动)

  • clonee是什么手机(cionee是什么牌子手机)

    clonee是什么手机(cionee是什么牌子手机)

  • oppo手机通话杂音滋滋声(oppo手机通话有杂音怎么办)

    oppo手机通话杂音滋滋声(oppo手机通话有杂音怎么办)

  • 快手极速版如何暂停视频(快手极速版如何注销账号?)

    快手极速版如何暂停视频(快手极速版如何注销账号?)

  • 华为matebook检测不到u盘(华为matebook14新笔记本检查)

    华为matebook检测不到u盘(华为matebook14新笔记本检查)

  • 上传文件太大怎么办(上传文件过大)

    上传文件太大怎么办(上传文件过大)

  • 200兆流量是多少G(200兆流量多少钱联通)

    200兆流量是多少G(200兆流量多少钱联通)

  • 有固态硬盘还用装硬盘吗(有固态硬盘还用分区吗)

    有固态硬盘还用装硬盘吗(有固态硬盘还用分区吗)

  • 近摄接圈的原理(近摄接圈和近摄镜哪个更好些)

    近摄接圈的原理(近摄接圈和近摄镜哪个更好些)

  • ipad可以指纹解锁吗(ipad可以指纹解锁码)

    ipad可以指纹解锁吗(ipad可以指纹解锁码)

  • 为什么我的隔空投送用不了(为什么我的隔空投送是所有人十分钟)

    为什么我的隔空投送用不了(为什么我的隔空投送是所有人十分钟)

  • 云原生数据库是什么(云原生关系型数据库polardb)

    云原生数据库是什么(云原生关系型数据库polardb)

  • 苹果xr重启方法(iphone xr重启方法)

    苹果xr重启方法(iphone xr重启方法)

  • ios13怎么关闭自动亮度(iphone 13怎么关闭)

    ios13怎么关闭自动亮度(iphone 13怎么关闭)

  • 信号hd是什么意思(信号hd是什么意思,怎么关闭)

    信号hd是什么意思(信号hd是什么意思,怎么关闭)

  • 天猫优品怎么加盟(天猫优品怎么加盟代理)

    天猫优品怎么加盟(天猫优品怎么加盟代理)

  • ps给人像局部补光(ps给人像局部补色)

    ps给人像局部补光(ps给人像局部补色)

  • 苹果手机怎么设置个人隐私(苹果手机怎么设置呼叫转移)

    苹果手机怎么设置个人隐私(苹果手机怎么设置呼叫转移)

  • 华为手机电子保修卡在哪里(华为手机电子保修卡在哪里查询)

    华为手机电子保修卡在哪里(华为手机电子保修卡在哪里查询)

  • 红米手机如何连接电脑传照片(红米手机如何连接u盘)

    红米手机如何连接电脑传照片(红米手机如何连接u盘)

  • 手机远程管理怎么用(手机远程管理怎么弄)

    手机远程管理怎么用(手机远程管理怎么弄)

  • 滴滴怎么删除认证车辆(滴滴快车怎么删除认证车辆)

    滴滴怎么删除认证车辆(滴滴快车怎么删除认证车辆)

  • 怎么开云集微店(云集微店怎么赚钱)

    怎么开云集微店(云集微店怎么赚钱)

  • 华为p30怎么充公交卡(华为p30pro怎么充公交卡)

    华为p30怎么充公交卡(华为p30pro怎么充公交卡)

  • 支付工资代扣个税会计科目
  • 生产经营所得个人所得税怎么申报
  • 这个季度报税时间怎么算
  • 股东是否实缴出资款
  • 稳岗返还入什么科目
  • 万元版增值税发票最多可以开多少
  • 定额发票验旧后怎么报税
  • 外购软件用于销售的会计分录
  • 外包人员的工资是费用吗
  • 新准则 开办费
  • 当期免抵税额有什么用
  • 进项抵欠税相关政策
  • 补助属不属于工资
  • 成品油一般经营企业交什么税
  • 担保预计负债要如何做账?
  • 股东取得利息收入如何纳税
  • 固定资产安装完毕达到预定可使用状态
  • 销售回扣的账务处理办法
  • 房地产行业应收帐款周转率平均值
  • 股份转让的溢价是什么意思
  • 未开票的销售要交增值税吗
  • 公司向个人转账分录
  • 所得税汇算清缴分录怎么做
  • 核定征收的企业利润怎么处理
  • 速动比率的合理范围
  • 合同的情势变更是什么?
  • 2021年8月现在还能去武汉吗
  • 计算机系统结构第三版课后答案
  • 如何在Excel中计算平均值
  • php数组可以使用哪些键名
  • PHP:http_build_query()的用法_url函数
  • 运输行业增值税税负率是多少
  • PHP:mcrypt_ecb()的用法_Mcrypt函数
  • 贷款减值是什么会计科目
  • 会计学中借和贷怎么区分
  • php实现购物车功能
  • npm install 的 --save 选项是什么?
  • 一阶段目标检测算法
  • centos+php+coreseek+sphinx+mysql之一coreseek安装篇
  • discuz怎么添加diy模块
  • 只有销售才能使你成功的名言
  • 免税农产品怎么抵扣进项税
  • phpcms生成html
  • 织梦如何使用
  • 帝国cms wordpress
  • phpcms怎么样
  • 应收保费核算什么业务
  • 固定资产折旧费计入成本吗
  • 工资是当月计提当月发放还是当月计提下月发放
  • 验证vip
  • PostgreSQL教程(四):数据类型详解
  • 税务局报季度税
  • 股东分红账务处理表格
  • 公司车辆过户给个人需要多少费用
  • 销售赠送赠品会计处理
  • 公司注销前的资产负债
  • 企业基建工程
  • 公司新装宽带怎么安装
  • 工程款项目的发包人是谁
  • 管理费用和销售费用属于什么科目
  • 发票章摔坏了一个角,还能盖吗
  • 登记总分类账的依据有
  • sql多表连接查询
  • WIN10系统怎么删除3Dmax
  • ssh连接虚拟机centos
  • win10系统如何添加隐藏wifi
  • centos更改文件所有者和组
  • fan.error是什么意思
  • 电脑xp系统最大多少g
  • windows7禁止开机启动
  • linux使用rar命令压缩文件
  • win10系统更新出错怎么办
  • shell中管道的作用
  • 简易bmp图片读取软件
  • es6新方法有哪些
  • Python中str is not callable问题详解及解决办法
  • 怎么设置python前面序号
  • 税务稽查时间最长多久?
  • 代发工资法律依据
  • 江西省国家税务局客运定额发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设