文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

什么,你还使用Webpack?别人都在用Vite搭建项目了

2024-12-02 19:03

关注

vite 是法语中轻快的意思。

vite 的特点:

轻快的冷服务启动。vite 是面向现代浏览器的,浏览器支持 ES6 的 imports属性,利用浏览器解析 imports,在服务端按需编译返回,不进行打包。所以运行速度较快。

开发中的热更新。监听项目代码,有改动时,会立即重新运行。

按需进行编译,不会刷新全部的DOM。vite只需要在浏览器请求源码时进行转换并按需提供源码。根据情景动态导入代码,只有在当前屏幕实际使用时才会被处理。

vite 对现代的浏览器支持性比较好,传统的浏览器可以通过官方提供的 @vite/plugin-legacy 插件支持。

二、vite 创建 vue 项目

vite 是构建工具的高阶封装,它的内部其实是 Rollup。

vite 是尤雨溪随着vue3正式版一起发布的一个工具,所以 vite 只提供了 vue3 的项目搭建方法,没有 vue2.0 搭建方式。除了能够搭建 vue3 项目之外,还能搭建 vue-ts、react 、react-ts、preact、preact-ts、vanilla、vanilla-ts、lit、svelte。

2.1、手把手教你搭建 vite 项目

打开命令行工具,使用npm命令:

  1. npm init vite@lasted 

运行结果,如图:


输入需要创建的项目名“ learn_vite ”,如果不输入,默认是 “ vite-project ” 。

回车进行下一步,需要选择创建项目的类型,如图:


使用上下箭头切换,选择我们最熟悉的 vue ,回车进行下一步。


进行选择是否为 ts? vite 原生支持 ts 。我们直接选择vue。不要 ts。


此时,项目创建完成了,需要进入项目,安装依赖,就可以启动服务了。


根据提示地址,去访问我们刚刚创建的第一个项目。如图所示。


2.2、 vite创建文件目录

创建好项目之后,使用编辑器打开项目,我们可以看到项目结构如图:


学习vite是如何运行项目的,首先从配置文件入手。打开package.json文件,代码如下:

  1.   "name""learn_vite"
  2.   "version""0.0.0"
  3.   "scripts": { 
  4.     "dev""vite"
  5.     "build""vite build"
  6.     "serve""vite preview" 
  7.   }, 
  8.   "dependencies": { 
  9.     "vue""^3.2.16" 
  10.   }, 
  11.   "devDependencies": { 
  12.     "@vitejs/plugin-vue""^1.9.3"
  13.     "vite""^2.6.4" 
  14.   } 

 找到启动项目的命令,以及打包命令。

三、vite VS webpack

3.1、vite 速度快有多快?

我们创建两个项目,一个使用 vite ,另一个使用 webpack 。创建完成之后,启动服务,对比启动时间,我们就知道 vite 有多快了。


启动服务时,webpack 需要先打包项目,打包之后再启动项目,但是 vite 完全跳过了打包这个概念,服务器随起随用。所以在启动服务时,vite 比 webpack 的速度快多了。

3.2、vite 热更新效率有多高?

一些打包器的开发服务器将构建内容存入内存,这样它们只需要在文件更改时,使模块图的一部分失活,但它也需要整个重新构建并重新载入页面。这样代价很高,重新加载页面会失去应用的当前状态。所以 vite 支持了动态模块热加载(HMR),也就是允许一个模块“热替换”自己,对页面的其他部分没有影响,也就是只替换更新了一部分有改变的元素,所以大大改进了开发体验。

vite 同时还利用 http 头加速整个页面的加载,依赖模块请求会通过 Cache-Control:max-age=31536000,immutable 进行强缓存,再次请求的时候,缓存的内容就不需要再次请求。

3.3、使用语言不同

webpack 使用的是 node.js 去实现的,而 vite 使用的是esbuild预构建依赖。而es build使用Go编写的,比 node.js 编写的打包器预构建依赖快 10-100 倍。

上边说这么多,净夸 vite 有多优秀了,难道 vite 就是这么强大,没有什么缺点吗?

四、vite 局限

vite 与webpack 相比,毕竟出道时间有点短,它的生态还不是不完善。webpack最牛之处就在于 loader 和 plugin 非常丰富。

vite 打包项目时,目前使用的是 Rollup,对 CSS和代码分割不是很友好。

vite 刚兴起不久,生态系统还不够完善,建议大家在创建工作项目的时候还是使用 webpack 。自己的项目可以使用 vite 。

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯