vite详解

vite详解一 认识 vitewebpack 是目前整个前端使用最多的构建工具 但是除了 webpack 之后也存在其他一些构建工具 比如说 rollup parcel gulp vite 等等 vite 的官方定位是下一代前端开发和构建工具 如何定义下一代开发和构建工具呢 我们知道在实际开发中 我们在编写的代码往往是不能被浏览器直接识别的 比如 ES6 TypeScript Vue 文件等 所以此时我们必须通过构建工具来对代码进行转换 编译 类似的工具有 webpack rollup parcel 但是随着项目越来越大 需要处理的

一、认识vite
webpack是目前整个前端使用最多的构建工具,但是除了webpack之后也存在其他一些构建工具。比如说rollup,parcel,gulp,vite等等。vite的官方定位是下一代前端开发和构建工具
如何定义下一代开发和构建工具呢?
我们知道在实际开发中,我们在编写的代码往往是不能被浏览器直接识别的,比如ES6TypeScript,Vue文件等。所以此时我们必须通过构建工具来对代码进行转换,编译,类似的工具有webpack,rollup,parcel.但是随着项目越来越大,需要处理的javascript呈指数级增长,模块越来越多。构建工具需要很长时间才能开启服务器,HMR也需要几秒钟才能在浏览器反应过来。所以出现了vite
在这里插入图片描述
在这里插入图片描述
上面是没有使用任何打包工具,直接使用ESmodule。但是此时我们如果使用lodash包,此时es module默认不会在node modules中进行查找,所以此时我们应该在引入文件时,使用完整路径。
在这里插入图片描述
此时将路径更改为import _ from "../node_modules/lodash-es/lodash.default.js"错误就解决了。
首先我们会发现使用lodash时,会加载了上百个模块的js文件,对于浏览器是一个巨大的消耗。
其次,我们的代码中如果存在TypeScript,less,vue等代码时,浏览器并不能直接识别。
事实上,vite就帮助我们解决了上面的所有问题。
二、vite的安装和使用
























npm install vite -g //全局安装 npm install vite -D //局部安装 

通过vite来启动项目

npx vite 
npm install postcss -D 

并且安装相关的插件

npm install postcss-preset-env -D 

新建一个postcss.config.js文件,并且在该文件中配置信息。

module.exports = { 
    plugins:[ require("postcss-preset-env") ] } 

在这里插入图片描述
六、vite对Typescript的支持
vite完全可以支持Typescript,不需要任何配置,只需要直接引入ts即可。
七、vite对vue的支持
如果直接引入vue文件,不进行任何其他操作的话,则会直接报错。
在这里插入图片描述
这里的报错信息显示@vitejs/plugin-vue,执行的操作为npm install @vitejs/plugin-vue -D,然后再新增一个vite.config.js中进行配置。在文件中进行配置信息。












import vue from "@vitejs/plugin-vue" module.exports = { 
    plugins:[ vue() ] } 

八、vite打包
vite打包执行的代码是:npx vite build,最终打包后的文件为:
在这里插入图片描述
当我们执行npx vite build进行打包的时候,此时会在node_modules中创建一个.vite文件夹,在其中存放一些打包的文件,当下次打包时,就可以直接使用.vite文件夹中的文件。
九、vite预览
打包后的文件可以不开启live serve,此时我们可以执行npx vite preview来进行开启服务进行预览。
十、ESbuild解析
ESbuild的特点:
超快的构建速度,并且不需要缓存。
支持es6和commonjs的模块化
支持es6的tree shaking
支持go,javascript的api
支持typescript,jsx等语法编译
支持sourcemap
支持代码压缩
支持扩展其他插件
ESbuild的构建速度和其他构建工具相比
在这里插入图片描述十一、为什么ESbuild那么快


































1、ESbuild采用go语言编写,go语言可以直接转换成机器码,而无需经过字节码。 2、ESbuild可以充分利用多核CPU,尽可能让他们饱和运行(比如说:esbuild可以使得浏览器新增一个进程,进程中增加多个线程) 3、ESbuild的所有的内容都是从零开始编写的,而不是使用第三方,所以从一开始就可以考虑各种性能问题。 

十二、vite脚手架工具
在开发中我们不可能一个项目所有的内容都使用vite从头开始搭建。此时我们应该考虑使用vite脚手架工具(@vitejs/create-app)。
vite就是一个构件工具,类似于webpack,rollup.
@vitejs/create-app:类似于vue-cli,create-react-app就是一个脚手架工具。
如何使用脚手架工具:
npm install @vitejs/create-app -g
create-app 项目名称
十三、vite执行流程
在这里插入图片描述
如上图所示首先vite会先创建一个本地服务器(connent开启的服务),浏览器向服务器请求资源,服务器查找该资源并返回,在返回之前应该将文件进行相关的转换,然后任然以该文件返回。
在这里插入图片描述




















在这里插入图片描述
如上图所示,第一个是ts代码,在浏览器请求回来的是js代码,因为浏览器不能识别ts代码,所以会经过转化之后返回。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202179.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午7:42
下一篇 2026年3月20日 上午7:43


相关推荐

  • Java中Iterator用法整理

    Java中Iterator用法整理迭代器 Iterator 迭代器是一种设计模式 它是一个对象 它可以遍历并选择序列中的对象 而开发人员不需要了解该序列的底层结构 迭代器通常被称为 轻量级 对象 因为创建它的代价小 Java 中的 Iterator 功能比较简单 并且只能单向移动 1 使用方法 iterator 要求容器返回一个 Iterator 第一次调用 Iterator 的 next 方法时 它返回序列的第一

    2026年3月18日
    3
  • 操作系统实验四 银行家算法

    操作系统实验四 银行家算法操作系统实验四银行家算法一、实验目的1、理解银行家算法。2、掌握进程安全性检查的方法与资源分配的方法。二、实验内容与基本要求编制模拟银行家算法的程序,并以下面给出的例子验证所编写的程序的正确性。进程已占资源最大需求数资源种类ABCDABCDP000120012P1100017

    2022年7月22日
    12
  • 进制转换python实验五_python进制转换:十进制转二进制的用法「建议收藏」

    进制转换python实验五_python进制转换:十进制转二进制的用法「建议收藏」我们在学习python时候肯定会碰到关于进制转换,其实这是非常简单的,这个就像小学学习数学乘法口诀意义,只要记住转换口诀即可轻松应用,一起来看下具体的操作内容吧~一、python进制转换dec(十进制)—>bin(二进制)dec(十进制)—>oct(八进制)dec(十进制)—>hex(十六进制)二、十进制我们所熟知的十进制,其实是从0开始,数到9之后,就跳到10,…

    2022年5月19日
    50
  • clion激活码(JetBrains全家桶)「建议收藏」

    (clion激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWN…

    2022年3月21日
    98
  • linux下安装tomcat7

    linux下安装tomcat7安装环境LinuxcenterOS6.5tomcat安装(apache-tomcat-7.0.73.tar.gz)Tomca下载地址:http://tomcat.apache.org/download-70.cgi下载后解压:tar-zxvfapache-tomcat-7.0.73.tar.gz建立软连接:ln-sapache-tomcat-7.0.73.tar.gztomcat7设

    2022年5月18日
    45
  • UCOSII操作系统(三)–系统启动过程

    UCOSII操作系统(三)–系统启动过程1 初始化 UCOSII 1 在调用 UCOSII 在任何的其他的服务之前 UCOSII 要求首先调用初始化函数 OSInit 这个函数的目的就是在整个系统启动之前 初始化所有的变量和数据结构 2 其中 在 OSInit 函数中建立空闲任务 OS TaskIdle 这个任务总是处于就绪态的 空闲任务的优先级是设置为最低的 3 调用 OSInit 以后任务控制块缓冲池中有 OS MAX TASKS 个任务控制块事件控制缓冲区中有 OS MAX EVENTS 个事件控制块消息队列

    2026年3月17日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号