Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗?

2023-11-06

Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗

本文完整版:《Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗

尤雨溪在发布 Vite 之后写了一条推,感觉不会在用 webpack 了(Vue-cli 基于 Webpack 开发,并配置了 Webpack 打包规则),Sean 是 Webpack 核心开发者,会一些中文,在尤大这条下面直接感叹。

Vue-cli 一直是 Vue 2 默认官方脚手架工具,Vue-cli 基于 Webpack 开发。Vue 3 发布后,尤大同时发布了 Vite ,那么 Vue 3 同时有两个前端打包工具 Vite 和 Vue CLI,那么他们俩应该怎么选呢?

一、Vite 与 Vue CLI 是什么?

Vue CLI 的特点

Vue 开发者应该无人不知 Vue CLI,他是 Vue 2 最棒的前端构建工具,Vue CLI 基于 Webpack 之上,是 Webpack 的超集。

  • Vue CLI 基于 Webpack 构建,配置好了打包规则
  • 内置热模块重载的开发服务器
  • 有丰富的官方插件合集,站在 webpack 庞大的社区资源上
  • 友好的图形化创建和管理 Vue 项目界面

bundler

Vue cli 在服务启动之前,要把所有代码打包成 Bundle 再启动服务。这就是为什么启动一些大型项目时,特别慢的原因。这一点上 Vite 做了大幅改善。

Vite 的特点

Vite 是 Vue 团队开发的新一代前端开发与构建工具,Vite 不是基于 Webpack 开发的,他为了解决服务启动慢的问题,Vite 通过一开始将应用中的模块区分为依赖和源码两类,改进了开发服务器启动时间。

  • 依赖:大多为在开发时不会变动的纯 JavaScript。一些较大的依赖(例如有上百个模块的组件库)处理的代价也很高。依赖也通常会存在多种模块化格式。Vite 会使用 esbuild 预构建依赖。esbuild 使用 Go 编写,并且比以 JavaScript 编写的打包器预构建依赖快 10-100 倍。
  • 源码:通常包含一些并非直接是 JavaScript 的文件,需要转换,时常会被编辑。同时,并不是所有的源码都需要同时被加载(例如基于路由拆分的代码模块)。

综上,这就是为什么 Vite 启动快的原因。

二、Vite 和 Vue Cli 区别

Vite 是基于原生 ES6 Modules,在生产环境下打包使用的是 Rollup。vue-cli 基于 webpack 封装,生产环境和开发环境都是基于 Webpack 打包。所以两者在生产环境下都是基于源代码文件打包。但在开发环境中,两者有所不同。Vite 在开发环境下,基于原生 ES6 ,无需对代码进行打包,浏览器可以直接调用。所以 Vite 因为基于浏览器的原生功能,省掉了打包过程,在开发环境中体验及其愉快。

三、Vite 会取代 vue-cli 吗?尤雨溪在 Twitter 上说

youyuxi-twitter-vite

尤雨溪 Twitter 原文地址

Vue 作者尤雨溪除了在 Twitter 上说,过也在其他地方讲过有关 Vite 的几点:

  • Vite 是新一代前端开发构建工具。Vue 官方 Vue 3.0 工具链全面默认推荐 Vite
  • vite 与 webpack 两者定位不同。webpack 是一个纯打包工具,vite 是更上层的工具链解决方案,类似(webpack + web 常用配置 + webpack-dev-server)
  • Vite 目前 npm 月下载量过百万,已经不再是小众工具,而是一颗冉冉升起的新星。

四、尤雨溪对 Vite 的总结

youyuxi-twitter-vite-recap

尤雨溪有关 Vite 总结 Twitter 原文

  1. 在开发过程中,Vite 是一个开发服务器,根据浏览器的要求编译源文件。无需捆绑,编译后真正做到按需使用。未修改的文件会返回304,所以浏览器根本就不会要求。这就是它启动快、保持快的原因。
  2. Vite 支持热模块替换,这和 "简单的重载页面 "有本质的区别,在DX方面是天壤之别。Vue组件和CSS HMR是开箱即用的支持,第三方框架可以利用HMR API。
  3. Vite支持一些webpack启发的功能,比如从js中导入’.css’文件(a la css-loader),基于fs的相对路径引用资产(a la file-loader m在构建过程中只需指定’-base’就能自动处理最终的公共部署路径)。
  4. Vite通过esbuild支持.(t|j)sx?文件,开箱即用,速度快得惊人,所以即使是TS转码,HMR也是字面上的即时性。
  5. Vite使用Rollup进行生产构建,内部配置与开发服务器功能一致。生产构建的输出是一个传统的静态资产目录,可以部署在任何地方(并且可以被polyfilled以支持旧的borwsers)。
  6. Vite的核心也是可扩展的(配置/插件格式待定)–你可以通过添加Koa中间件(用于开发)+Rollup aplugin(用于构建)来添加对自定义文件转换的支持。

五、无需配置 Vue 开发环境搭建后台管理工具

在使用 Vue 搭建后台管理工具时,开发者要处理一系列前端问题,从构建器的选择,到组件的开发,再到打包上线。每一步都费时费力,有没有一种开箱即用,无需管任何前端问题,让开发者专注在开发需求上的工具呢?推荐一下卡拉云,帮你快速搭建企业内部工具。

卡拉云可帮你快速搭建企业内部工具,下图为使用卡拉云搭建的内部广告投放监测系统,仅需拖拽组件,10 分钟搞定。你也可以快速搭建一套属于你的后台管理工具,了解更多

卡拉云企业内部工具

卡拉云是新一代低代码开发平台,与前端框架 Vue、React等相比,卡拉云的优势在于不用首先搭建开发环境,直接注册即可开始使用。开发者完全不用处理任何前端问题,只需简单拖拽,即可快速生成所需组件,可一键接入常见数据库及 API,根据引导简单几步打通前后端,数周的开发时间,缩短至 1 小时。立即免费试用卡拉云

扩展阅读:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗? 的相关文章

随机推荐

  • 知乎广告效果怎么样?有哪些优势呢?

    随着移动互联网的不断发展 在当下流量越来越贵的背景下 知乎平台以其独特的优势 特别失在内容营销方面独树一帜 相比较其它平台有着明显的优势 主要体现在 1 转化率高 因为知乎作为国内领先的互动问答平台 很多用户是因为有问题 上知乎找解决方案的
  • web 前后台数据交互的方式

    做web开发 很重要的一个环节就是前后台的数据的交互 数据从页面提交到contoller层 数据从controler层传送到jsp页面来显示 这2个过程中数据具体是如何来传送的 是本节讲解的内容 首先说一下数据如何从后台的contorlle
  • ubuntu22.04.1设置root登陆

    一 设置root密码 sudo passwd root 输入自己的超级用户密码 设置root账户密码 二 设置系统登陆界面 1 su root 2 gedit etc pam d gdm autologin 在弹出窗口中找到 auth re
  • numpy.argsort()函数参数以及案例问题

    参考博客网址是 numpy argsort函数 summer2day的博客 CSDN博客 argsort函数numpy argsort a axis 1 kind quicksort order None 返回的是数组值从小到大的索引值 参
  • JAVA获取部门人员树

    直接上代码 无需多言 主要还是递归 实体类 Data ApiModel NoArgsConstructor public class TreeDept implements Serializable type 0 表示是部门 type 1
  • 一个好用的在线RSS阅读器

    最近用国外IP访问有道阅读貌似有问题 于是找了一些替代品尝试 http reader aol com 这个和Google Reader最相似 不过导入有道阅读的OPML总是不成功 http www inoreader com 这个也相当好
  • Debian 10 安装网络yum源

    Debian 10 安装网络yum源 实验环境一台最小化Debian10 IP地址是192 168 10 1 24 还需要一张外网的网卡 配置网络 vim etc network interfaces 编辑网络配置文件 auto ens37
  • Python提取评论(使用pycharm+Python)

    一 安装调用所要用到的库函数 import requests from bs4 import BeautifulSoup 二 自定义根据每页影评的url爬取影评的方法 1 请求url def getData url 三 请求头为字典格式 h
  • java图片转base64注意事项

    java转base64有两点需要注意的地方 在window操作系统中 图片转换为base64 在base64的字符串中会有默认换行 这就破坏了json格式 所以这里需要做一下处理 除此之外 在java转base64时 会缺少base64字符
  • torch.cat的参数dim到底是在哪个维度拼接

    如果将两个维度为 n c h w 进行拼接 如果指定dim为以下值 dim 0 拼接后维度为 2n c h w dim 1 拼接后维度为 n 2c h w dim 2 拼接后维度为 n c 2h w dim 3 拼接后维度为 n c h 2
  • C#常见变量类型和使用规则

    C 常见变量类型和使用规则 常见变量类型 C 中值类型的变量主要包括整数类型 浮点类型 金钱 decimal 类型和布尔 bool 类型等 1 整数类型 int 范围 2 147 483 648 2 147 483 647 大小 32位有符
  • 合宙Air001点灯+闪烁(寄存器版)

    观前提醒 只是我学单片机的一个简单记录 会比较啰嗦 但是我在研究单片机寄存器过程中真实的心得体会 希望能帮到读者 打完电赛觉得自己的单片机白学了 于是想从寄存器从头开始学一遍单片机 刚好前段时间发现合宙AIR001这款单片机 外设较少且相对
  • QT之TCP网络传输系列 - 目录

    最近被大boss安排做纯软件开发项目 囧 本来我硕士方向是 传统机器学习特征提取 这一部分 读博近两年主要做 以深度学习为基础的视频分析 相关研究 我一个搞算法的去做软件开发 都是泪啊 但为了毕业 给啥任务都能 得 完成 o o 以下整理一
  • 热门去水印小助手小程序独立安装版+前端免费分享

    热门去水印小助手小程序独立安装版来自网络资源 请自测 该源码是本人在外面找回来 大家可以测试自用下 看看有什么瑰丽 去水印的也是比较火的 现在各大平台 搬运视频 大家都需要的 但是给大家一个建议 这个网上分享的共享开源源码 一般是有限制的
  • Python连接hive数据中遇到的各种坑

    这里选择的是使用 impala Python3 6来连接hive数据库 第一步要先在服务器开启hiveserver2 服务 不然会连不上的 报如下错误 开启方法很简单 到hive安装目录的bin目录下 your path apache hi
  • (三)springcloud之Consul注册服务与发现

    此文主要记录springcloud的zookeeper的注册与发现 没有过多解释 只是为了提供后期拷贝使用 主要模块分为 0 父工程模块 主要用来作为版本管理 1 公共模块Common API 用来封装其他模块的共同的功能 比如bean类
  • 为什么说分布式KVM系统是中小型指挥中心应用最广泛的控制系统?

    众所周知 在指挥中心 控制中心等场景 光纤KVM是部署控制系统的最优解 但是对于大量在的中小型指挥中心 区县级指挥中心 会议室等项目来说 必须要考虑建设的预算费用 这时部署成本适中的分布式KVM无疑是更实用的选择 目前 分布式KVM成为国内
  • QNX学习笔记-Neutrino-QNX-boot启动流程分析

    锋影 e mail 174176320 qq com 嵌入式系统的启动都是类似的 先启动一个boot程序 然后又boot控制系统的进一步加载运行 1 处理从复位向量执行代码 2 启动系统的启动代码 qnx的启动代码就是IPL 3 IPL会将
  • 计算机总是跳出交互式检测,交互式服务检测,教您如何解决电脑总是弹出交互式服务检测...

    电脑总是会弹出交互式服务检测窗口 无法关掉 只能 点击稍后提醒我 但一会儿又会提醒 这让人感觉很烦 其实 只要在系统服务里将Interactive Services Detection服务禁用即可解决此问题 下面 小编跟大家分享解决电脑总是
  • Vite 与 Vue Cli 对比 - 尤雨溪: Vite 会取代 vue-cli 吗?

    本文完整版 Vite 与 Vue Cli 对比 尤雨溪 Vite 会取代 vue cli 吗 Vite 与 Vue Cli 对比 一 Vite 与 Vue CLI 是什么 Vue CLI 的特点 Vite 的特点 二 Vite 和 Vue