当前位置: 首页 > news >正文

深入浅出webpack学习(1)--核心概念

看了网上一个教程,做些记录,从头学习一下webpack~关于安装之类的就不介绍了,首先了解下核心概念。感觉首先知道这些概念还是挺重要的。

核心概念

  • Entry:入口,webpack执行构建的第一步从Entry开始,可以抽象成输入。
  • Module:模块,在webpack中一切皆模块,一个模块对应着一个文件,webpack会从配置的Entry开始递归找出所有依赖的模块。
  • Chunk:代码块,一个Chunk由多个模块组合而成,用于代码合并和分割。
  • Loader:模块转换器,用于把模块原内容按照需求转换成新内容。
  • Plugin:扩展插件,在webpack构建流程中的特定时机注入扩展逻辑来改变构建结果或做你想要的事情。
  • Output:输出结果,在webpack经过一系列处理并得出最终想要的代码后输出结果。

webpack会在启动后从Entry里配置的Module开始递归解析Entry依赖的所有Module,每找到一个Module,就会根据配置的loader去找对应的转换规则,对Module进行转换后,再解析出当前Module依赖的Module。这些模块会以Entry为单位进行分组,一个Entry和其他所有依赖的Module被分到一个组就是一个Chunk。最后webpack会把所有Chunk转换成文件输出。在整个流程中webpack会在恰当的时机执行Plugin里定义的逻辑。

在实际开发中可能会遇到不同的场景,了解上面大致流程,在以后的开发中就会清楚的知道在对应的位置进行配置。

相关文章:

  • Js基础知识(一) - 变量
  • Linux常用命令大全 (非常有用)
  • 配置karma支持Chrome浏览器
  • Java程序员升职加薪必备技术——分布式
  • unity探索者之微信登录,非第三方插件
  • json 解析豆瓣ApiURL
  • mongodb数据备份脚本和日志切割脚本
  • 资讯丨Linux基金会一行到访腾讯参观交流
  • 《设计模式之禅》--代理扩展:动态代理
  • IOLI-crackme0x01-0x05 writeup
  • 思考|自动化测试面试题第一波
  • 算法学习之路|欧拉回路初见
  • python3 _笨方法学Python_日记_DAY1
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 提高开发效率之VS Code基础配置篇
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • Android组件 - 收藏集 - 掘金
  • Bytom交易说明(账户管理模式)
  • CSS中外联样式表代表的含义
  • IndexedDB
  • JavaScript 基础知识 - 入门篇(一)
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • Material Design
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • Ruby 2.x 源代码分析:扩展 概述
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • vue.js框架原理浅析
  • VuePress 静态网站生成
  • 关于for循环的简单归纳
  • 设计模式 开闭原则
  • 手写双向链表LinkedList的几个常用功能
  • 首页查询功能的一次实现过程
  • 我建了一个叫Hello World的项目
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 正则表达式
  • ​批处理文件中的errorlevel用法
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • ​油烟净化器电源安全,保障健康餐饮生活
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #FPGA(基础知识)
  • #Z2294. 打印树的直径
  • %check_box% in rails :coditions={:has_many , :through}
  • (4)Elastix图像配准:3D图像
  • (8)STL算法之替换
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (三)终结任务
  • (转)iOS字体
  • (转)Sublime Text3配置Lua运行环境
  • .bat批处理出现中文乱码的情况
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .Net core 6.0 升8.0
  • .NET Core 中的路径问题
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)