webpack编译过程

webpack编译过程

初始化

复制代码
    此阶段,webpack会将**CLI参数**、**配置文件**、**默认配置**进行融合,形成一个最终的配置对象。

​ 对配置的处理过程是依托一个第三方库yargs完成的

​ 此阶段相对比较简单,主要是为接下来的编译阶段做必要的准备

​ 目前,可以简单的理解为,初始化阶段主要用于产生一个最终的配置
2.

编译

  1. 创建chunk

    • 它通过入口找到所有依赖的模块的统称,根据入口模块(默认为src/index.js)创建一个chunk
    • 每个chunk至少都有两个属性
      • name:默认为main
      • id:唯一编号,开发环境和name相同,生产环境是一个数字,从0开始
  2. 构建所有依赖模块

    每个chunk都有一个模块记录,一个模块编译完了之后,会对依赖的模块继续进行编译(模块有缓存如果加载过了就不会加载了 )

  3. 产生chunk assets

    在第二步完成之后,chunk中会产生一个模块列表,列表中包含了模块id模块转换后的代码

    接下来,webpack会根据配置为chunk生成一个资源列表,即chunk assets,资源列表可以理解为是生成到最终文件的文件名和文件内容

chunk hash是根据所有chunk assets的内容生成的一个hash字符串

hash:一种算法,具体有很多分类,特点是将一个任意长度的字符串转换为一个固定长度的字符串,而且可以保证原始内容不变,产生的hash字符串就不变

简图


4. 合并chunk assets

将多个chunk的assets合并到一起,并产生一个总的hash


3.

输出

此步骤非常简单,webpack将利用node中的fs模块(文件处理模块),根据编译产生的总的assets,生成相应的文件。

总过程

相关推荐
小陈工1 小时前
2026年4月2日技术资讯洞察:数据库融合革命、端侧AI突破与脑机接口产业化
开发语言·前端·数据库·人工智能·python·安全
IT_陈寒2 小时前
Vue的这个响应式问题,坑了我整整两小时
前端·人工智能·后端
C澒2 小时前
AI 生码:A 类生码方案架构升级
前端·ai编程
前端Hardy2 小时前
前端必看!LocalStorage这么用,再也不踩坑(多框架通用,直接复制)
前端·javascript·面试
前端Hardy2 小时前
前端必看!前端路由守卫这么写,再也不担心权限混乱(Vue/React通用)
前端·javascript·面试
Lee川3 小时前
从零构建现代化登录界面:React + Tailwind CSS 前端工程实践
前端·react.js
Awu12273 小时前
⚡精通 Claude 第 1 课:掌握 Slash Commands
前端·人工智能·ai编程
竹林8183 小时前
从ethers.js迁移到Viem:我在重构DeFi前端时踩过的那些坑
前端·javascript
码云之上3 小时前
上下文工程实战:解决多轮对话中的"上下文腐烂"问题
前端·node.js·agent
小小弯_Shelby3 小时前
webpack优化:Vue配置compression-webpack-plugin实现gzip压缩
前端·vue.js·webpack