![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
webpack源码系列
文章平均质量分 90
IT路上狂奔的蜗牛
一只IT路上狂奔的蜗牛,路再长,再远,蜗牛都不会停下前进的脚步,一步一个脚印,终究会到达终点……
展开
-
webpack 4 源码主流程分析(九):优化 chunk
创建了 hash,包括 module hash,chunk hash,content hash,fullhash,hash。转载 2023-03-09 23:08:58 · 263 阅读 · 0 评论 -
webpack 4 源码主流程分析(八):生成 chunk
处理异步模块的时候,queue 里的 block 为 ImportDependenciesBlock 依赖,然后更新 chunkGroup 后, switch 走 PROCESS_BLOCK 获得本次异步对应的真正模块,后面的处理数据都将在新的 ChunkGroup 信息对象上。解析了所有第一层异步(即非嵌套异步模块)的 module,并为每个不同的异步 mudule 都新建了 chunkGroup 和 chunk 并建立了两者的联系。存于 compilation.chunkGroups。转载 2023-03-09 23:07:58 · 296 阅读 · 0 评论 -
webpack 4 源码主流程分析(七):构建 module(下)
然后回到文件 Compilation.js 的 module.build 的回调。先初始化了 hash, 然后分别 update 了 source,this._value( this._source.updateHash(hash) 获得,为文件源码),meta,this.buildMeta,最后计算出结果挂载到 module._buildHash 上。上述执行结束后,会根据 import/export 的不同情况即模块间的相互依赖关系,在对应的 module.dependencies 上增加相应的依赖。转载 2023-03-09 23:06:56 · 183 阅读 · 0 评论 -
webpack 4 源码主流程分析(六):构建 module(上)
实例化 NormalModule 得到初始化的 module(方法链:moduleFactory.create 回调里->buildModule->module.build->module.doBuild->runLoaders),然后在 build 过程中先 run loader 处理源码,得到一个编译后的字符串或 buffer。在 run loader 的过程中,先正序执行了每个 loader 的 pitch ,然后倒序执行了每个 loader 的 normal。还可以解析自定义 loader。转载 2023-03-09 23:03:53 · 184 阅读 · 0 评论 -
webpack 4 源码主流程分析(四):reslove 前的准备
在方法中先触发 compiler.hooks: beforeRun,执行之前注册的 NodeEnvironmentPlugin(该插件此时判断 inputFileSystem 是否被配置,如未配置则执行 purge 清理方法),然后在回调里触发 compiler.hooks: run,然后回调里 this.readRecords 是用于读取之前的 records 的方法,再在它的回调里执行 this.compile(onCompiled)。用于提供不同的编译模板。转载 2023-03-09 23:01:34 · 129 阅读 · 0 评论 -
webpack 4 源码主流程分析(三):编译前的准备
回到cli.js,处理配置项 progress 和 infoVerbosity,然后判断 options 里是否有 watch,有则走 compiler.watch,无则走 compiler.run,这里我们走compiler.run,进入 webpack 核心构建流程!然后注册了this._pluginCompat.tap("Compiler"),这个用来兼容之前的老版 webpack 的 plugin 的钩子,触发时机在tapable/lib/Tapable.js里调用plugin 的时候;转载 2023-03-09 22:59:35 · 84 阅读 · 0 评论 -
webpack 4 源码主流程分析(二):配置初始化
通过在 cli 执行命令 webpack 开始,以 development 模式为例,暂时忽略支线剧情(错误响应,缓存等等),只分析探索 webpack 的打包主流程。转载 2023-03-09 22:58:29 · 165 阅读 · 0 评论 -
webpack 4 源码主流程分析(一):前言及总流程概览
此系列文章作为笔记,用于记录分析 webpack 源码主流程的过程。转载 2023-03-09 22:52:29 · 64 阅读 · 0 评论 -
webpack 4 源码主流程分析(一):前言及总流程概览
此系列文章作为笔记,用于记录分析 webpack 源码主流程的过程。原创 2023-03-09 22:43:52 · 118 阅读 · 0 评论