Webpack 知识体系 | 青训营笔记

75 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第13天

课程简介

由浅入深,从应用技巧到组件开发,再到 Webpack 构建流程的基本原理剖析,最后总结一套学习方法论,帮助读者 0 基础搭建 Webpack 知识体系。

课前准备

安装浏览器

  • 请下载安装最新版本 NodeJS 环境;
  • 请下载安装一个「现代」浏览器,比如 Chrome、Firefox、Edge 等。推荐使用最新版的 Chrome 浏览器。

安装编辑器

要进行前端开发,一个趁手的编辑器必不可少。强烈推荐使用 Visual Studio Code,如果你习惯使用其它编辑器也是可以的。

提前阅读

课前建议先充分了解 Webpack 的基本功能与作用,参考资料:Webpack 官网,建议根据官网文档手动搭建若干示例。

在前端工程化中webpack有比较重要的作用。 Webpack本质上是一个用于现代化JavaScript应用程序的静态模块打包工具。处理程序时,在webpack内部一个或多个入口点构建依赖图,将项目中所需要的模块组合成一个或多个bundles,用于展示内容。

为什么要学习 Webpack

  • 理解前端“工程化”概念、工具、目标
  • 提高个人核心竞争力
  • 成为高阶前端工程师的必经之路

使用Webpack接入Babel

  1. 安装依赖
  2. 声明入口 entry& 产物出口output
  3. 添加module处理css文件

使用Webpack生成html

  1. 安装依赖
  2. 配置
  3. 执行npx webpack

使用Webpack——HMR

Hot Module Replacement——模块热替换(写的代码会被立刻更新到浏览器上~)

  1. 开启HMR
  2. 启动webpack

使用Webpack——Tree-Shaking

Tree-Shaking -树摇,用于删除Dead Code

Dead Code

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

Tree-Shaking

  • 模块导出了,但未被其他模块使用

理解Loader

Loader核心功能:将非JS资源转换为JS资源

  1. 安装Loader
  2. 添加module处理less文件

认识Loader:链式调用 less-loader: 实现less => css的转换 css-loader: 实现css => js的转换,将CSS包装成类似module.exports = “${css}” 的内容,包装后的内容符合JavaScript 语法 style-loader:将css模块包进require语句,并在运行时调用injectStyle等函数将内容注入到页面的style标签