对webpack的理解

作用

是一个前端代码打包工具。

打包流程

主要是: 初始化参数,编译,找到入口entry,遍历模块以及它依赖的模块,预处理loader,模块编译,然后根据依赖关系输出到指定的路径和目录下。

模块

loader: 预处理器,对各种文件格式进行处理,转换成webpack能识别的js代码。常见的预处理器有less-loader、postcss-loader、ts-loader。

plugin: 插件,在webpack打包过程中的特定时间对资源进行一些处理,增强webpack的能力。例如打包优化,代码压缩等。常用的插件有clean-webpack-plugin删除上一次打的包。

webpack打包优化

压缩代码、按需加载资源、懒加载、缓存、删除多余的代码(tree-shaking)等

提升webpack构建速度

减少要打包的文件。

loader和plugin的区别

loader下载后直接使用,在编译阶段进行。

plugin下载后需要引用再使用,在整个周期都有效。

相关推荐
下雪天的夏风4 分钟前
TS - tsconfig.json 和 tsconfig.node.json 的关系,如何在TS 中使用 JS 不报错
前端·javascript·typescript
danplus5 分钟前
node发送邮件:如何实现Node.js发信功能?
服务器·node.js·外贸开发信·邮件群发·蜂邮edm邮件营销·邮件接口·营销邮件
青稞儿9 分钟前
面试题高频之token无感刷新(vue3+node.js)
vue.js·node.js
diygwcom16 分钟前
electron-updater实现electron全量版本更新
前端·javascript·electron
Hello-Mr.Wang32 分钟前
vue3中开发引导页的方法
开发语言·前端·javascript
程序员凡尘1 小时前
完美解决 Array 方法 (map/filter/reduce) 不按预期工作 的正确解决方法,亲测有效!!!
前端·javascript·vue.js
编程零零七4 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
(⊙o⊙)~哦6 小时前
JavaScript substring() 方法
前端
无心使然云中漫步7 小时前
GIS OGC之WMTS地图服务,通过Capabilities XML描述文档,获取matrixIds,origin,计算resolutions
前端·javascript
Bug缔造者7 小时前
Element-ui el-table 全局表格排序
前端·javascript·vue.js