Webpack的构建流程

Webpack 的构建流程主要包括以下步骤:

初始化 :启动构建,读取和合并配置参数,加载 Plugin,实例化 Compiler。
编译 :从 Entry 出发,针对每个 Module 串行调用对应的 Loader 去翻译文件的内容,再找到该 Module 依赖的 Module,递归地进行编译处理。
输出 :对编译后的 Module 进行深度优化,如模块合并、拆分等,然后将这些信息写入到 Chunk 中,再把 Chunk 转换成文件,输出到文件系统中。

以下是这个过程的伪代码:

javascript 复制代码
// 初始化
const options = readAndMergeConfigOptions();
const compiler = new Compiler(options);

// 加载插件
for (const plugin of options.plugins) {
  plugin.apply(compiler);
}

// 编译
const context = { compiler, options };
for (const entry of options.entry) {
  compileModule(context, entry);
}

// 输出
const chunks = generateChunks(context);
for (const chunk of chunks) {
  emitFile(context, chunk);
}

这个过程中,Webpack 会广播出许多事件,插件可以监听这些事件,在适当的时机添加自己的逻辑。

相关推荐
猿饵块5 分钟前
cmake--get_filename_component
java·前端·c++
大表哥616 分钟前
在react中 使用redux
前端·react.js·前端框架
十月ooOO20 分钟前
【解决】chrome 谷歌浏览器,鼠标点击任何区域都是 Input 输入框的状态,能看到输入的光标
前端·chrome·计算机外设
qq_3391911421 分钟前
spring boot admin集成,springboot2.x集成监控
java·前端·spring boot
pan_junbiao29 分钟前
Vue使用代理方式解决跨域问题
前端·javascript·vue.js
明天…ling1 小时前
Web前端开发
前端·css·网络·前端框架·html·web
ROCKY_8171 小时前
web前端-HTML常用标签-综合案例
前端·html
海石1 小时前
从0到1搭建一个属于自己的工作流站点——羽翼渐丰(bpmn-js、Next.js)
前端·javascript·源码
Q186000000001 小时前
在HTML中添加图片
前端·html
傻虎贼头贼脑1 小时前
day21JS-npm中的部分插件使用方法
前端·npm·node.js