webpack之webpack和vite的区别
| 打包原理 | 缺点 | 其他特点 | |
| webpack | 解析各个模块的依赖关系 使用loader转换文件,使用plugin注入钩子,打包合并模块,最终生成bundle文件,使用express开启本地服务器, 浏览器请求的是bundle文件,也就是打包过后的文件。 |
1.各个模块之间的依赖关系过于复杂 会导致打包速度很慢 2.使用热更新时,改动一个模块,其他有依赖关系的模块也会重新进行打包 |
|
| vite |
使用koa开启本地服务器,没有webpack那样打包合并的过程,所以启动服务器很快,@vue/compiler-sfc会对模块进行编译 (修改一些引入文件的路径 css编译成js字符串)浏览器再请求编译好的模块。 |
1.项目的开发浏览器要支持esmodule 2.不能识别commonjs语法 |
1.使用热更时,改动一个模块,仅需让浏览器重新请求该模块即可 效率更高。 2.需要打包到生产环境时 vite使用的是rollup 3.有利用http2的缓存和压缩 |
webpack之webpack和vite的区别的更多相关文章
- Webpack学习-Webpack初识
一.前言 webpack 到底是个什么东西呢,看了一大堆的文档,没一个能看懂的,因为上来就是给个module.exports 然后列一大堆配置,这个干啥,那个干啥,没一点用.但凡要用一个东西,一个东西 ...
- webpack入门——webpack的安装与使用
一.简介 1.什么是webpack webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来使用和处理. ...
- webpack基础+webpack配置文件常用配置项介绍+webpack-dev-server
一.webpack基础 1.在项目中生成package.json:在项目根目录中输入npm init,根据提示输入相应信息.(也可以不生成package.json文件,但是package.json是很 ...
- 安装webpack和webpack打包(此文转自Henery)
Henery博客地址为:http://blog.csdn.net/henery_002 写的很详细,可以做参考 最近要做项目优化了,尤其是前端这块,许多js需要模块化管理和相应的优化 1.输入如下地址 ...
- 优雅哥学 Webpack - 01 - Webpack 5 快速体验
程序员优雅哥简介:十年程序员,呆过央企外企私企,做过前端后端架构.分享vue.Java等前后端技术和架构 本文摘要:主要讲解 webpack 5 初体验.从webpack 5 初识到便写代码.优雅哥将 ...
- [转]webpack中require和import的区别
webpack中可以写commonjs格式的require同步语法,可以写AMD格式的require回调语法,还有一个require.ensure,以及webpack自己定义的require.incl ...
- webpack中require和import的区别
commonjs同步语法 经典的commonjs同步语法如下: var a = require('./a'); a.show(); 此时webpack会将a.js打包进引用它的文件中.这是最普遍的情形 ...
- 对webpack和gulp的理解和区别
webpack是前端构建工具,称为模块打包机,webpack支持模块化:构建前端开发过程中常用的文件,如:js,css,html,img等:使用简单方便,自动化构建.webpack是通过loader( ...
- Webpack中hash与chunkhash的区别,以及js与css的hash指纹解耦方案
文件的hash指纹通常作为前端静态资源实现增量更新的方案之一,Webpack是目前最流行的开源编译工具之一,其强大的功能也带来很多坑(当然,大部分麻烦其实都可以在官方文档中找到答案). 比如,在Web ...
- Webpack与其他打包工具的区别
webpack是一个模块化加载器兼打包工具,它同时支持AMD.CMD等加载规范.与其他模块化加载器相比,它有这些优势: 1.代码分割 webpack支持两种依赖加载:同步和异步.同步的依赖会在编译时直 ...
随机推荐
- kibana7.6.2内网windows系统下编译打包部署
1.在kibana根目录下执行命令: yarn build --skip-os-packages 2.报错无法下载node:将node相关文件下载放到kibana/.node_binaries/10 ...
- Django 知识点总结
知识点总结 一.URL: 1.在python 正则表达式中,正则表达式命名组的语法是(?P<name>pattern),其中命名组中的命名就是name,并且pattern 是某些匹配的模式 ...
- echarts的label的formatter 自动换行
1.加 \n 2.使用extraCssText
- 062_Apex使用Assert
assert关键字用法简单,但是使用assert往往会让你陷入越来越深的陷阱中.应避免使用.总结了以下原因: 1.用assert代替if是陷阱之二.assert的判断和if语句差不多,但两者的作用 ...
- WinExec("D:\\MY_tool\\APPLICATION\\calc.exe", SW_SHOW);
1 #pragma comment(lib,"shell32.lib")2 3 4 ShellExecute(NULL, NULL,"calc.exe", NU ...
- 「SOL」NOI2017Day2 T1T2
就当我没做过这套题 而且 T3 也不会 Day2 A. 游戏 > Link 游戏 - LOJ 做过 2-sat 的读者应该能够一眼秒出这道题的正解 -- \(\mathcal O(2^d)\) ...
- PowerDesigner 从数据库生成实体模型关键步骤
- 处理时间转换不正确-Springboot、springclound、feign、http请求
SpringBoot.SpringCloud.feign.前后端时间解析不正确时,我们可以自定义HttpMessageConverters,以达到我们希望的结果 参考链接:https://www.cn ...
- Debug --> 使用USTC-TK2016工具对USTC-TFC2016数据集进行处理
文件介绍: https://blog.csdn.net/u010916338/article/details/86511009?spm=1001.2101.3001.6661.1&utm_me ...
- java pta第三次阶段性总结
一.前言 这是这学期最后一次总结,这三次的pta大作业也是最后一次,这几次大作业主要写了电信计费系统的主要功能,第一次大作业是座机计费功能,第二次大作业是手机计费功能,第三次大作业是短信计费的功能.这 ...