vite构建工具初识

一、什么是vite

vite官网地址:https://cn.vitejs.dev/
在这里插入图片描述

Vite 是一个由 Vue.js 作者尤雨溪开发的新一代前端构建工具,它相比于传统的 webpack,具有更快的启动速度、更高的开发效率和更简洁的配置方式

Vite的主要特点包括:

  1. 快速启动:Vite 利用了浏览器原生 ES 模块的特性,在启动时只需要构建所需要的模块,而不是一次性构建整个应用,因此启动速度更快。

  2. 高效开发:Vite 支持热更新,代码修改后浏览器界面会立即响应,因此能够提高开发效率。

  3. 简洁配置:Vite 的配置比 webpack 更简洁明了,不需要复杂的配置文件,而是利用了项目中的文件名、目录结构等信息自动推导配置。

  4. 插件化:Vite 支持插件化开发,针对不同的需求可以配置不同的插件。

使用 Vite 可以为前端开发带来以下好处

  1. 更快的开发速度:Vite 采用了浏览器原生的 ES 模块,启动速度更快,代码修改后浏览器响应更迅速,提高了开发效率。

  2. 简单的配置:Vite 的配置非常简单,不需要复杂的配置文件,而是智能推导配置。

  3. 插件化:Vite 支持插件化开发,能够根据需求配置不同的插件,提高了拓展性。

  4. 更小的打包体积:Vite 只会构建当前需要的模块,因此打包后的体积更小,提高了应用的性能。

  5. 更好的开发体验:Vite 支持热更新,代码修改后浏览器界面会立即响应,提高了开发体验。

二、vite和其他构建工具对比的优劣

webpack中文官网:https://webpack.docschina.org/loaders/
rollup官网:https://rollupjs.org/
parcel官网:https://www.parceljs.cn/

构建工具优点缺点
Vite- 快速启动,秒级热更新,更快的构建速度,更好的开发体验;
- 支持 Vue3 和 ES modules 的原生特性,轻松实现按需加载。
- 对于单页应用和小型项目的构建效率高
- 可以快速地启动开发服务器
- 能够快速实现 SSR
- 对于ESM的支持更加友好
- 对于大型项目构建效率不高
- 不支持IE11及以下浏览器
Webpack- 功能强大、可配置性高
- 支持各类资源的处理、打包和优化
- 支持热重载和模块热替换
- 社区支持广泛、插件丰富
- 学习成本较高,配置文件繁琐,构建速度慢;
- 初学者可能会遇到各种问题,需要不断深入学习和实践;
- 大型项目的构建成本可能较高。
- 初次构建时间长
- 构建速度较慢
Rollup- 构建速度快、效率高
- 生成的代码体积小
- 对代码进行静态分析和优化
- 支持Tree shaking等高级特性
- 对于需要动态加载的项目不太友好
- 配置较为复杂
- 处理HTML、CSS、图片等资源相对不太方便
Parcel- 零配置、自动化高
- 开箱即用、易上手
- 支持多种资源的打包和优化
- 构建速度较快
- 对于一些高级需求不太友好
- 不支持Tree shaking
- 社区生态相对不够完善

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/232.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java(七):项目部署

项目部署 运行容器解决Centos8中yum命令遇到的问题打包项目拷贝.jar到容器中安装jdk后台运行.jar后台运行.jar并输入日志实时查看日志查看/杀死运行程序目录结构日志配置 运行容器 $ docker run -d -p 8001:8001 -p 8081:8081 -p 8082:8082 --namelocal_centos --privilegedtr…

EasyCode代码生成插件-模板分享(基于数据表生成MyBatisPlus格式的dao,service,controller和vue组件)

目录 概述 使用演示 模板代码 实体类pojo 表现层controller 业务层service接口 业务层serviceImpl实现类 持久层dao Vue组件 概述 本片博客用于分享EasyCode的自定义模板(模板在篇末),用于简化开发,免去重复性的工作。 …

6.28作业

作业1 结构体不能被继承,类可以被继承结构体默认的都是公共,类默认是私有的 转载【结构体和类的区别】 结构体是值类型,类是引用类型 结构体存在栈中,类存在堆中 结构体成员不能使用protected访问修饰符,而类可以 结…

无法更新iPhone,提示“无法检查更新”怎么办?

当我们需要 iPhone更新系统时,可以前往iPhone设置-通用-软件更新中获取更新推送。不过一些用户可能会遇到无法更新的问题,例如会提示“无法检查更新,检查软件更新时出错”。 以上情况可能是网络问题,可以尝试重新打开设置&#xf…

vue中使用mock.js

安装mock npm install mockjs --save-dev或者在ui中选择依赖 查看安装是否成功 进入package.json文件 配置mock 在src目录下新建mock文件夹,在mock文件夹下建立index.js 配置模拟请求数据 index.js import Mock from mockjsconst loginData Mock.mock(http://l…

YOLOv5图像和视频对象生成边界框的目标检测实践(GPU版本PyTorch错误处理)

识别图像和视频里面的对象,在计算机视觉中是一个很重要的应用,比如无人驾驶,这个就需要实时的检测到周边环境的各种对象,并及时做出处理。目标检测在以往的文章中有重点讲解过几种,其中Faster R-CNN的源码解读&#xf…

Spring Bean的实例化过程

一、前言 对于写Java的程序员来说,Spring已经成为了目前最流行的第三方开源框架之一,在我们充分享受Spring IOC容器带来的红利的同时,我们也应该考虑一下Spring这个大工厂是如何将一个个的Bean生产出来的,本期我们就一起来讨论一…

局域网远程连接

一根网线连接两台电脑 前言步骤1 设置B“允许远程连接”2 A和B必须在同一个网段下面3 “winr”,输入“mstsc”中4 弹出“远程桌面连接”窗口,输入B的ip地址和B电脑的用户名及密码(winL键锁屏,看看B的用户名和密码是什么&#xff0…

注意力机制和Transformer

注意力机制和Transformer 机器翻译是NLP领域中最重要的问题之一,也是Google翻译等工具的基础。传统的RNN方法使用两个循环网络实现序列到序列的转换,其中一个网络(编码器)将输入序列转换为隐藏状态,而另一个网络&…

《kafka 核心技术与实战》课程学习笔记(六)

生产者消息分区机制原理剖析 为什么分区? Kafka 有主题(Topic)的概念,它是承载真实数据的逻辑容器,而在主题之下还分为若干个分区,也就是说 Kafka 的消息组织方式实际上是三级结构:主题 - 分区…

kafka入门,生产者自定义分区(六)

1、实现Partitioner接口 package com.longer.producer;import org.apache.kafka.clients.producer.Partitioner; import org.apache.kafka.common.Cluster;import java.util.Map;/*** 实现接口Partitioner* 实现3个方法:partition,close,configure* 编写…

和Git相关的一些问题

1. Git拉取项目的两种方式以及区别 方式 Http:通过http方式的clone项目,不需要在git上手动绑定ssh,只需要在clone的时候输入账号,密码即可;SSH:通过ssh方式clone项目,需要手动绑定ssh密钥 区别 …