webpack和vite的比较

时间:2024-10-11 10:07:10

一、webpack和vite

  • 都是现代化打包工具

二、为什么Vite启动快

2.1 底层语言

  • 从底层原理上来说,Vite是基于esbuild预构建依赖。而esbuild是采用go语言编写,因为go语言的操作是纳秒级别,而js是以毫秒计数,所以vite比用js编写的打包器快10-100倍。

2.2 webpack和vite的启动方式

  • webpack原理图
    在这里插入图片描述
  • vite原理图
    在这里插入图片描述
  • webpack: 分析依赖=> 编译打包=> 交给本地服务器进行渲染。首先分析各个模块之间的依赖,然后进行打包,在启动webpack-dev-server,请求服务器时,直接显示打包结果。webpack打包之后存在的问题:随着模块的增多,会造成打出的 bundle 体积过大,进而会造成热更新速度明显拖慢。
  • vite: 启动服务器=> 请求模块时按需动态编译显示。是先启动开发服务器,请求某个模