底层语言:
webpack:基于nodeJS构建,js是以毫秒计数的
vite:基于esbuild预构建依赖,esbuild是采用go语言编写的,它是纳秒级别的
总之:因为js是毫秒,go语言是纳秒,所以vite比webpack打包快10-100倍
打包过程:
webpack:分析各个模块之间的依赖=》然后进行打包编译=》打包后的代码在本地服务器进行渲染。
随着模块的增多,打包体积变大,造成热更新速度变慢。
vite:启动服务器=》请求模块时需要按需动态编译显示
热更新:
webpack:模块以及模块依赖的模块需要重新编译
vite:浏览器重新请求该模块即可
使用方面:
webpack更加灵活,api以及插件更加丰富
vite更加简单,可以达到极速效果
原理不同:
webpack是bundle,自己实现了一套模块导入机制
vite是bundless,利用浏览器esm能力
参考来源:https://blog.csdn.net/m0_67948827/article/details/127080038