vite与webpack打包区别

这篇具有很好参考价值的文章主要介绍了vite与webpack打包区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

开发项目时会遇到找不到文件的情况,此时发现是

   webpack会先打包,然后启动开发服务器,请求服务器时直接给予打包结果

   由于vite启动的时候不需要打包 ,也就不需要分析模块依赖,编译,使用原生ES模块导入方式,所以启动速度非常快;

 vite采用的是按需动态编译的模式,当浏览器请求需要的模块时,再对模块进行编译,这种处理模式极大的缩短了编译时间,当项目越大,文件越多,vite的开发时优势越明显

 Vite

Vite是尤雨溪在开发vue3的时候开发的一个web开发构建工具

极速的服务启动: 使用原生 ESM 文件,无需打包!
  轻量快速的热重载:无论应用程序大小如何,都始终极快的模块热重载(HMR)
  丰富的功能: 对 TypeScript、JSX、CSS 等支持开箱即用。

  Vite使用简单,只需执行初始化命令,就可以可得到一个预设好的开发环境,开箱即可获得一堆功能,包括:css预处理、html预处理、异步加载、分包、压缩、HMR等。使用复杂度介于Paracel和Webpack的中间,只是暴露了极少数的配置项和plugin接口,既不会像Paracel一样配置不灵活,又不会像Webpack一样需要了解庞大的loader、plugin生态。灵活适中,复杂度适中。

相比Webpack,Vite有什么优势

a. vite开发服务器启动速度比webpack快。

    webpack会先打包,然后启动开发服务器,请求服务器时直接给予打包结果

    由于vite启动的时候不需要打包 ,也就不需要分析模块依赖,编译,使用原生ES模块导入方式,所以启动速度非常快;

    vite采用的是按需动态编译的模式,当浏览器请求需要的模块时,再对模块进行编译,这种处理模式极大的缩短了编译时间,当项目越大,文件越多,vite的开发时优势越明显

  b. vite的热更新比webpack快。vite在HRM方面(HMR是指当你对代码进行修改并保存后,webpack对代码重新打包,并将新的模块发送到浏览器端,浏览器通过替换旧的模块,在不刷新浏览器的前提下,就能够对应用进行更新),当改动了一个模块后,vite仅需让浏览器重新请求该模块即可,不像webpack那样需要把该模块的相关依赖模块全部编译一次,效率更高。

  c.由于现代浏览器本身就支持ES Module,会自动向依赖的Module发出请求。vite充分利用了这点,将开发环境下的模块文件,就作为浏览器要执行的文件,而不是像webpack那样进行打包合并

  d. vite 使用esbuild(Go编写)预构建依赖,比webpack的nodejs,快10-100倍  

3.从Webpack方面能不能做一些编译构建方面的优化

  a. 多入口的情况下,使用CommonsChunkPlugin来提取公共代码

  b. 通过externals配置来提取常用库

  c. 使用Happypack实现多线程加速编译

  d. 使用Tree-shaking和Scope Hoisting来剔除多余代码

  e. 使用 webpack-uglify-parallel来提升uglifyPlugin的压缩速度。原理上 webpack-uglify-parallel 采⽤了多核并⾏压缩来提升压缩速度文章来源地址https://www.toymoban.com/news/detail-494659.html

到了这里,关于vite与webpack打包区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vite 和 webpack 的区别

    1. 构建原理: Webpack 是一个静态模块打包器,通过对项目中的JavaScript、css、Image 等文件进行分析,生成对应的静态资源,并且通过一些插件和加载器来实现各种功能。 Vite 是一种基于浏览器元素 ES 模块解析构建工具,它通过在服务器端搭建开发环境,在浏览器中使用原生E

    2024年02月07日
    浏览(20)
  • Webpack 和 Vite 的区别

    Webpack 和 Vite 都是前端构建工具,但它们在设计哲学和执行方式上有所不同。以下是两者之间的主要区别: 基本原理 : Webpack : 它是一个模块打包工具,它的主要目标是打包 JavaScript 模块。为了处理 ES modules 或其他新的语法,Webpack 依赖于 loaders。同时,它还可以使用插件处理

    2024年02月10日
    浏览(22)
  • 使用vite打包时候遇到的坑

    最近使用vite写了一个小demo. 记录下其中感悟和遇到的\\\"坑\\\" 开发: 使用vite的开发过程还是很爽的 vite快速生成各种已经搭好的脚手架供开发者选择 开发的运行速度相对于传统的webpack确实快了不少 打包: 在打包的时候遇到了一些坑 打包时资源的路径问题,跟vue-cli里面一样,需要修

    2024年02月04日
    浏览(34)
  • Vite和Webpack的区别是什么

    一.区别 构建速度: Vite 使用原生 ES 模块进行开发,不需要像 Webpack 那样在编译时将所有代码转换为 JS 进行打包,因此它的构建速度通常比 Webpack 快。1. Webpack 需要打包所有的模块到一个或多个文件中,这个过程会更慢 开发体验: Vite 提供了一个快速的开发体验,支持热更新

    2024年01月25日
    浏览(25)
  • 【前端笔记】前端包管理工具和构建打包工具介绍之npm、yarn、webpack、vite

    NPM(Node Package Manager)是node包管理器,是node.js默认采用的软件包管理系统,使用JavaScript语言编写。包管理可以理解为依赖管理,有一个npm包管理仓库,当我们执行npm命令的时候,就可以直接从npm仓库中下载对应的依赖包,类似于后端开发中的POM。 node.js中就已经安装了NPM,所

    2024年02月02日
    浏览(27)
  • 【Vue3】Vite打包发布错误若干问题解决方案,新手遇到的问题都在这里。

    npm run build 在vite.config.js 中加入下面的代码 vite.config.js 完整代码

    2024年02月11日
    浏览(35)
  • Webpack打包vue项目

    步骤一: 创建一个vue项目 在项目里打开终端 步骤二: 初始化npm项目,创建一个package.json文件 步骤三: 修改 package.json 步骤四: npm安装Webpack 步骤五: 在项目根目录下创建一个名为 webpack.config.js 的文件 这个配置文件设定了入口文件、输出路径、模块解析规则以及插件使用

    2024年01月21日
    浏览(31)
  • Vite 的基本原理,和 webpack 在开发阶段的比较

    主要对比开发阶段。 开发阶段大致流程:指定一个入口文件,对相关的模块(js css img 等)先进行打包,接着启动一个开发服务器,浏览器请求时返回打包后的文件。 这样做的特点是: 如果项目比较大,依赖项比较多,打包速度会降低, 会影响到启动速度 。 热更新时,被

    2024年02月06日
    浏览(25)
  • 聊一聊 webpack 和 vite 的开发服务代理的问题

    webPack And Vite 都是两个比较好用的打包工具,尤其是 Vite , 几几年流行忘记了,特色就是服务启动极快,实现预加载,感觉 webPack 要比 Vite 要复杂一点,不过两者都是比较好的打包工具 今天想聊一聊关于 webPack 和 Vite 的开发代理模块的使用 以下功能,是在 webpack.config.js 中配置

    2024年01月25日
    浏览(34)
  • vite 项目打包时出错

    是因为这个vue-tsc打包对ts进行了类型检查, 关闭打包时的语法检测 文件 package.json 中的 build , 从 \\\"vue-tsc --noEmit vite build --config ./config/vite.config.prod.ts\\\", 改为 \\\"vite build --config ./config/vite.config.prod.ts\\\" , 解决打包过程中语法检测

    2024年02月16日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包