【面试题打卡】Webpack 纯理论(背诵就好)(更新中。。。)

webpack 的理解

静态模块打包工具

在 webpack 看来,项目中的所有资源皆为模块,通过分析模块间的依赖关系,在其内部构建一个依赖图,最终编译输出模块为 HTML、JavaScript、CSS 以及各种静态文件

webpack 构建过程

  • 初始化:启动构建,读取与合并配置参数,加载 Plugin、实例化 Compiler
  • 编译:从 entry 出发,针对每一个 Module 串行调用对应的 loader 去翻译文件的内容,再找到该 Module 依赖的 Module,递归地进行编译处理。
  • 输出:将编译后的 Module 组合成 Chunk,将 Chunk 转换成文件,输出到文件系统中。

loader 和 plugin 的区别

  • loader 是文件加载器,能够加载资源文件,最终打包到指定的文件中
  • plugin 赋予了 webpack 各种灵活的功能,例如打包优化。目的在于解决 loader 无法实现的其他事。

在运行时机上:

  • loader 运行在打包文件之前
  • plugin 则在整个编译周期都起到作用

你可能感兴趣的:(明年找到好工作,webpack,javascript,前端)