Vue3 简介

打印 上一主题 下一主题

主题 823|帖子 823|积分 2469

1. Vue3简介



  • 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n
  • 经历了:4800+次提交、40+个RFC、600+次PR、300+贡献者
  • 官方发版地址:Release v3.0.0 One Piece · vuejs/core
  • 截止2023年10月,最新的公开版本为:3.3.4

1.1【性能的提拔】

● 打包大小淘汰41%。
● 初次渲染快55%, 更新渲染快133%。
● 内存淘汰54%。
1.2【 源码的升级】

● 使用Proxy代替defineProperty实现相应式。
● 重写虚拟DOM的实现和Tree-Shaking
1.3【拥抱TypeScript】

Vue3可以更好的支持TypeScript
1.4【新的特性】


  • Composition API(组合API):

    • setup
    • refreactive
    • computedwatch

  • 新的内置组件:

    • Fragment
    • Teleport
    • Suspense

  • 其他改变:

    • 新的生命周期钩子
    • data 选项应始终被声明为一个函数
    • 移除keyCode支持作为 v-on 的修饰符…

2. 创建Vue3工程

2.1. 【基于 vue-cli 创建】

点击查看 Vue CLI 官方文档
备注:目前vue-cli已处于维护模式,官方保举基于 Vite 创建项目
  1. ## 查看@vue/cli版本,确保@vue/cli版本在4.5.0以上
  2.   vue --version
  3.   ## 安装或者升级你的@vue/cli
  4.   npm install -g @vue/cli
  5.   ## 执行创建命令
  6.   vue create vue_test
  7.   ##  随后选择3.x
  8.   ##  Choose a version of Vue.js that you want to start the project with (Use arrow keys)
  9.   ##  > 3.x
  10.   ##    2.x
  11.   ## 启动
  12.   cd vue_test
  13.   npm run serve
复制代码
2.2. 【基于 vite 创建】(保举)

vite 是新一代前端构建工具,官网地址:https://vitejs.cn,vite的优势如下:


  • 轻量快速的热重载(HMR),能实现极速的服务启动。
  • 对 TypeScript、JSX、CSS 等支持开箱即用。
  • 真正的按需编译,不再等候整个应用编译完成。
  • webpack构建 与 vite构建对比图如下

  • 详细操作如下(点击查看官方文档)
  1. ## 1.创建命令
  2.   npm create vue@latest
  3.     ## 2.具体配置
  4.     ## 配置项目名称
  5.   √ Project name: vue3_test
  6.   ## 是否添加TypeScript支持
  7.   √ Add TypeScript?  Yes
  8.     ## 是否添加JSX支持
  9.   √ Add JSX Support?  No
  10.     ## 是否添加路由环境
  11.   √ Add Vue Router for Single Page Application development?  No
  12.     ## 是否添加pinia环境
  13.   √ Add Pinia for state management?  No
  14.     ## 是否添加单元测试
  15.   √ Add Vitest for Unit Testing?  No
  16.     ## 是否添加端到端测试方案
  17.   √ Add an End-to-End Testing Solution? » No
  18.     ## 是否添加ESLint语法检查
  19.   √ Add ESLint for code quality?  Yes
  20.     ## 是否添加Prettiert代码格式化
  21.   √ Add Prettier for code formatting?  No
复制代码


  • 编写一个app组件
  1. <template>
  2.   <div class="app">
  3.     <h1>你好啊!</h1>
  4.   </div>
  5. </template>
  6. <script lang="ts">
  7.   export default {
  8.     name:'App' //组件名
  9.   }
  10. </script>
  11. <style>
  12.   .app {
  13.     background-color: #ddd;
  14.     box-shadow: 0 0 10px;
  15.     border-radius: 10px;
  16.     padding: 20px;
  17.   }
  18. </style>
复制代码


  • 安装官方保举的vscode插件:
总结:

  • Vite 项目中,index.html 是项目的入口文件,在项目最外层。
  • 加载index.html后,Vite 解析 <script type="module" src="xxx"> 指向的JavaScript。
  • Vue3 中是通过 createApp 函数创建一个应用实例。
2.3. 【简朴示例】

Vue3 向下兼容 Vue2 语法,且 Vue3 中的模板中可以没有根标签
  1. <template>
  2.   <div class="person">
  3.     <h2>姓名:{{name}}</h2>
  4.     <h2>年龄:{{age}}</h2>
  5.     <button @click="changeName">修改名字</button>
  6.     <button @click="changeAge">年龄+1</button>
  7.     <button @click="showTel">点我查看联系方式</button>
  8.   </div>
  9. </template>
  10. <script lang="ts">
  11.   export default {
  12.     name:'App',
  13.     data() {
  14.       return {
  15.         name:'张三',
  16.         age:18,
  17.         tel:'13888888888'
  18.       }
  19.     },
  20.     methods:{
  21.       changeName(){
  22.         this.name = 'zhang-san'
  23.       },
  24.       changeAge(){
  25.         this.age += 1
  26.       },
  27.       showTel(){
  28.         alert(this.tel)
  29.       }
  30.     },
  31.   }
  32. </script>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美丽的神话

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表