首页 > 其他分享 >vue2的老项目怎么改造为vue3,vite,前端的快速发展真让人上头

vue2的老项目怎么改造为vue3,vite,前端的快速发展真让人上头

时间:2024-07-19 13:25:18浏览次数:13  
标签:Vue DOM 打包 支持 vite vue2 vue3 组件 Vite

Vue 2

Vue 2 是 Vue.js 的第二个主要版本,由尤雨溪于 2016 年发布。Vue 2 带来了许多新特性和改进,使其成为最受欢迎的前端框架之一。

特点:
  1. 响应式系统:Vue 2 的核心特性是响应式系统,它可以自动追踪依赖并在数据变化时更新 DOM。
  2. 组件化架构:Vue 2 鼓励开发者使用组件化的方式构建应用,提高了代码的可维护性和复用性。
  3. 指令:Vue 2 提供了一系列指令(如 v-for, v-if, v-bind 等),使得操作 DOM 变得更加简单。
  4. 生命周期钩子:Vue 2 组件有生命周期钩子,允许在组件的不同阶段执行代码。
  5. 虚拟 DOM:Vue 2 使用虚拟 DOM 来提高渲染性能。
  6. 过渡和动画:Vue 2 提供了过渡和动画的封装,使得创建动态用户界面变得容易。
优点:
  • 易学易用:Vue 2 的设计哲学是渐进式增强,使得初学者容易上手。
  • 文档齐全:Vue 2 有详细的文档和社区支持。
  • 轻量级:Vue 2 的体积相对较小,性能良好。

Vue 3

Vue 3 是 Vue.js 的第三个主要版本,于 2020 年发布。Vue 3 带来了许多重要的改进和新特性,包括性能提升、更小的打包尺寸和更好的类型支持。

特点:
  1. Composition API:Vue 3 引入了 Composition API,它提供了一种更灵活的代码组织和复用逻辑的方式,特别是对于大型项目。
  2. 性能提升:Vue 3 重写了虚拟 DOM 算法,提高了性能。
  3. Tree-shaking 支持:Vue 3 的设计允许通过 tree-shaking 移除未使用的代码,减少了最终打包的体积。
  4. 更好的类型支持:Vue 3 从一开始就考虑了 TypeScript 的支持,提供了更好的类型推断。
  5. 多重根组件:在 Vue 3 中,组件可以有多个根元素。
  6. 响应式系统的改进:Vue 3 的响应式系统使用 Proxy 重写,解决了 Vue 2 中的一些限制。
优点:
  • 更好的代码组织:Composition API 使得代码更加模块化和可维护。
  • 更小的打包尺寸:通过 tree-shaking 和按需引入,Vue 3 的打包尺寸更小。
  • 更高的性能:虚拟 DOM 的优化和响应式系统的改进提高了运行时的性能。

Vite

Vite 是一个由原生 ES 模块提供支持的现代前端开发与构建工具,由 Vue 的作者尤雨溪创建。Vite 旨在利用现代浏览器的原生 ES 模块支持,提供快速的开发体验。

特点:
  1. 快速的冷启动:Vite 利用浏览器的 ES 模块支持,无需打包即可直接启动开发服务器。
  2. 即时热更新:当源文件发生变化时,Vite 只需要更新变更的部分,而不是整个项目。
  3. Rollup-based 打包:Vite 使用 Rollup 进行预配置的生产构建,以优化最终产品的打包。
  4. 丰富的插件生态系统:Vite 插件系统基于 Rollup,使得扩展和定制变得容易。
  5. 对 TypeScript、JSX、CSS 等的支持:Vite 提供了对多种现代前端技术的开箱即用支持。
优点:
  • 开发效率:Vite 提供了极快的开发体验,特别是在大型项目中。
  • 构建性能:Vite 的构建过程更快,因为它利用了现代浏览器的特性。
  • 易于配置:Vite 的配置简单直观,插件生态系统丰富。
    Vite 可以与 Vue 2、Vue 3 以及其他前端框架(如 React、Preact 等)一起使用,它不仅仅是为 Vue 定制的,而是一个通用的前端工具,适用于多种开发场景。

标签:Vue,DOM,打包,支持,vite,vue2,vue3,组件,Vite
From: https://blog.csdn.net/qq_36083245/article/details/140538696

相关文章

  • Vue3学习(未完待续)
    Vue3vite全新的前段开发工具就是webpack的代替品npminitvite-appvue3testnpmi模板中可以没有根标签安装vue3的测试工具常用CompositionAPIsetup是vue3中的一个配置项<script>import{h}from'vue'//返回一个渲染函数exportdefault{ name:"app", setup(){......
  • Vue3+Elementplus 递归菜单展示
    这里只是做个笔记,js,css那些都没写子组件MenuItem<template><templatev-if="item.children"><el-sub-menu:index="item.value"><template#title>{{item.label}}</template><MenuItemv-for="childI......
  • Vue2中Diff算法解析
    Vue2中Diff算法解析import{compileToFunction}from'./compiler/index.js';import{patch,createElm}from'./vdom/patch';//1.创建第一个虚拟节点letvm1=newVue({data:{name:'hs'}});letrender1=compileToFunction('<div>{{nam......
  • ts vue3 定义props写法参考
    写法1exportinterfaceConfig{arr1:Array<IObject>,obj1?:IObject}constprops=defineProps({title:{type:String, //必须的proprequired:true,default:'DefaultTitle'},//数组dicts:{type:Array,requ......
  • vue3 使用component is 动态组件
    使用方式父组件<template><divclass="box"><div><!--setup需要用变量的方式来写入is,如果是optionsapi方式可以用组件字符--><!--myProps属性可以直接传到动态组件--><component:is="childT"myProps="sldfjsklfjksf......
  • vue3 watch watchEffect computed 使用差别
    概论watch监听明确的数据computed监听数据并返回计算结果watchEffect重视监听过程测试代码子组件<template><divclass='box'><div>props监听测试</div>computed返回的内容的深度属性:{{configTwo.obj1&&configTwo.obj1.xxx}}<div></div......
  • Vue3动态生成组件
    在Vue3中,要遍历funConfig并动态生成组件,可以使用Vue的defineAsyncComponent来加载异步组件,并结合v-for指令在模板中进行渲染。以下是一个示例代码来实现这个需求:1.配置文件确保配置文件导出的是一个reactive对象:import{reactive}from'vue';exportconst......
  • Vue3学习---1
    Vue3学习1.初识Vue1.1HelloWorld程序<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><ti......
  • Vue2使用face-api.js实现人脸检测、人脸对比、人流量计数
    1、安装依赖npminstallface-api.js--save我安装的版本2、下载模型文件face-api.js需要一些预先训练好的模型文件来执行人脸检测和识别。需要从GitHub仓库中下载这些文件,并放置在项目的public目录下,或者配置一个正确的路径指向这些文件。可以从face-api.js的GitHub页面......
  • SSR理解(vite与nuxt比较)
    一、SSR的概念与理解(什么是SSR?)定义:SSR是指在服务器端完成页面的渲染工作,将最终生成的HTML内容发送给浏览器。简单来说,就是在服务器端将网页内容渲染成HTML,然后将这个渲染好的HTML发送到客户端,也就是我们的浏览器。原理:(渲染过程)传统的Web应用是在客户端(浏览器)通过Jav......