前端 | 青训营笔记

117 阅读1分钟

这是我参与「第四届青训营 」笔记创作活动的的第12天,今天是关于《Webpack知识体系》的学习

为什么要学习webpack?

  • 理解前端工程化 概念 工具 目标
  • 一个团队总要有几个人熟悉
  • 高阶前端必经之路

什么是webpack?

1.png

本质上是前端资源编译 打包的工具

image.png

使用webpack

image.png

  1. 入口处理
    • 从‘entry’文件开始,启动编译流程
  2. 依赖解析
    • 从‘entry’文件开始,根据'require' or 'import' 等语句找到依赖资源
  3. 资源解析
    • 根据'module'配置,调用资源转移器,将png css 等非标准JS资源转译成JS内容
  4. 资源合并打包
    • 将转译后的资源内容合并打包为可直接在浏览器运行的JS文件

模块化 一致性

  1. 多个文件资源合并成一个,减少http请求数
  2. 支持模块化开发
  3. 支持高级Js特性
  4. 支持Typescript CoffeeScript方言
  5. 统一图片,css 字体 等其它资源的处理模型
  6. ETC

配置分类

流程类:作用于流程中某个or若干个环节,直接影响打包效果的配置项

工具类:主流程之外,提供更多工程化能力的配置项

image.png

配置总览

image.png

树摇

Dead Code 代码没有被用到 不可到达 代码的执行结果不会被用到 代码只读不写

Tree-Shaking 模块导出了,但未被其它模块使用

Loader

webpack只认识js

为了处理非标准JS资源,设计出资源翻译模块--loader 用于将资源翻译为标准JS

image.png

image.png

image.png