vite

120 阅读1分钟

vite与webpack的区别

  • webpack的原理:
    • 先转译打包,在启动dev server
    • 热更新时,把改动过的模块的相关依赖模块全部编译一次,服务启动慢
  • vite原理:
    • 对于不会变动的第三方依赖,采用变异速度更快的go编写的esbuild预构建
    • 对于js/jsx/css源码,转译为原生ES Module
    • 直接启动dev server(不需要打包),对请求的模块按需实时编译
    • 热更新时,仅让浏览器重新请求改动过的模块

webpack的启动方式

分析依赖=》编译打包=》交给本地服务器进行渲染。

  • 首先会分析各个模块之间的依赖,在进行打包。模块的增多,打包出的bundle体积过大,造成热更新速度慢

vite启动方式

启动服务器=》请求模块时按需动态编译显示。

  • 先启动开发服务器,请求某个模块时再对该模块进行实时编译