【面试题】webpack的五大核心、构建流程、性能优化

【面试题】webpack的五大核心、webpack的构建流程、webpack的性能优化

webpack是什么?

js静态模块打包工具。

功能

  • 将多个文件打包成更小的文件,(压缩)
  • 翻译 babal-loader es6进行降级兼容。

webpack的五大核心

  • enter 1/n
  • output
  • loader
  • plugins
  • mode

webpack的构建流程

1、初始化参数 :从配置文件和 Shell语句中读取与合并参数,得出最终的参数

2、开始编译 :用上一步得到的参数初始化 Compiler 对象,加载所有配置的插件,执行对象的 run 方法开始执行编译

3、确定入口 :根据配置中的 entry 找出所有的入口文件

4、编译模块 :从入口文件出发,调用所有配置的Loader 对模块进行翻译,再找出该模块依赖的模块,再递归本步骤直到所有入口依赖的文件都经过了本步骤的处理

5、完成模块编译 :在经过第4步使上oader 翻译完所有模块后,得到了每个模块被翻译后的最终内容以及它们之间的依赖关系

6、输出资源 :根据入口和模块之间的依赖关系,组装成一个个包含多个模块的 Chunk,再把每个 Chunk 转换成一个单独的文件加入到输出列表,这步是可以修改输出内容的最后机会

7、输出完成:在确定好输出内容后,根据配置确定输出的路径和文件名,把文件内容写入到文件系统,在以上过程中,webpack 会在特定的时间点广播出特定的事件,插件在监听到感兴趣的事件后会执行特定的逻辑,并且插件可以调用Webpack 提供的 API 改变 Webpack 的运行结果

这道题基本会问在Webpack性能优化之前。

webpack性能优化

相关推荐
FanetheDivine4 分钟前
发现一个Solid中的坑
前端·javascript·react.js
Cache技术分享15 分钟前
40. Java 使用 `switch` 语句进行分支选择
前端·后端
zzkrix21 分钟前
浏览器插件 - kimi 历史会话清理助手
前端
前端开发张小七25 分钟前
11.Python设计模式:单例模式与工厂模式实战指南
前端·python
yanyu-yaya33 分钟前
第四章 react-redux,@reduxjs/toolkit依赖,学习
前端·学习·react.js
小付同学呀38 分钟前
前端快速入门学习3——CSS介绍与选择器
前端·css·学习
Jenlybein39 分钟前
快速了解浏览器原理及工作流程
前端·浏览器
醋醋39 分钟前
vue2源码记录(2)
前端·vue.js
前端飞天猪40 分钟前
学习笔记:企业级Git代码规范与协作指南💖
前端·github
艾克马斯奎普特40 分钟前
Vue.js 3 渐进式实现之响应式系统——第五节:分支切换与 cleanup
前端·vue.js