你将获得
- 快速掌握基础技能和进阶用法;
- 熟悉打包速度和体积优化策略;
- 深入源代码了解打包构建原理;
- 编写健壮易维护的 webpack 配置。
课程介绍
近几年来,前端领域飞速发展,工作早已不再是切几张图,写几个页面那么简单,而是需要前端开发者更加专注业务需求。webpack,就是这么一款工具,将前端不断出现的新模块、新资源、新需求,进行自动化整合、梳理、输出,极大提高了我们的工作效率。
同时,webpack 凭借着自身社区生态丰富,配置灵活和插件化扩展,官方更新迭代速度快等优点,已成为前端构建领域里最炙手可热的构建工具。在 GitHub 上,webpack 也拥有着 48.8k 的 star。
可是,不少前端人,对于 webpack 的使用和了解只停留在了 20% 的基础功能上。每天开发写 npm run dev,该上线了按 npm run build,执行个命令,webpack 就帮你打包好了。
很多人根本不知道,这整个过程究竟发生了什么,导致之后出现问题,也无法对症下药,无从下手。以下这些情景,你肯定或多或少都遇到过:
- 拿到一份用 vue-cli 和 create-react-app 生成的 webpack 配置,却不知道它们的含义;
- 想要深入了解 webpack 内部原理,但发现看不懂 webpack 源码,也不知该从何下手;
- 在做项目构建时,遇到速度或体积的问题时,发现自己拿不出一套完善的优化思路;
- 在社区的插件和 loader 不满足实际项目时,却无法自定义出一个定制化的插件和 loader,来解决眼下的问题。
其实,掌握 webpack 是具有一定的学习曲线和成本的。如何理解 webpack “一切皆为模块”的打包理念?如何快速掌握 webpack 的构建配置?如何让 webpack 成为升职加薪利器,而不是成为一名“ webpack 配置工程师”?
整个课程基于最新版 webpack 4 设计,遵循由浅入深的原则,将内容分为 4 个阶段。
- 基础篇:从最基础的知识讲起,由浅入深,教你掌握 webpack 的核心概念和开发必备技巧。
- 进阶篇:带你编写 webpack 构建配置的同时,轻松掌握构建速度和体积的优化策略。
- 原理篇:抽丝剥茧,通过 webpack 源码,让你了解 webpack 内部的运行原理的同时,也具备编写自定义 loader 和插件的能力。
- 实战篇:从一个 Web 商城项目出发,讲解 webpack 如何运用到实际的项目中,并且最大化地提升开发阶段和发布阶段的构建体验。
无论你是对 webpack 一无所知的初学者,还是经验丰富的前端工程师,都能够通过这个课程,提升对 webpack 的理解,建立属于你自己的 webpack 知识体系,并在工作中能够高效的使用 webpack,完成各类前端项目的打包构建工作。
课程目录
01-课程介绍【辣椒课堂www.lajiaokt.com].ts
02-内容综述【辣椒课堂www.lajiaokt.com].ts
03-为什么需要构建工具【辣椒课堂www.lajiaokt.com] .ts
04-前端构建演变之路【辣椒课堂www.lajiaokt.com] .ts
05-为什么选择webpack 【辣椒课堂www.lajiaokt.com] .ts
06-初识webpack 【辣椒课堂www.lajiaokt.com] .ts
07-环境搭建:安装webpack 【辣椒课堂www.lajiaokt.com] .ts
08-webpack初体验:一个最简单的例子【辣椒课堂www.lajiaokt.com] .ts
09-通过npmscripti行webpack 【椒 www.lajiaokt.com].ts
10-webpack核心概念2entry 【辣椒课堂www.lajiaokt.com] .ts
11-webpack核心概念之output 【辣椒课堂www.lajiaokt.com] .ts
12-webpack核心概念之loaders 【辣椒 堂www.lajiaokt.com] .ts
13-webpack核心概念之plugins 辣椒 堂www.lajiaokt.com] .ts
14-webpack心概念之mode 【辣椒课堂www.lajiaokt.com] .ts
15-解析ECMASCript6和ReactJSX 【辣椒课堂www.lajiaokt.com] .ts
16-解析Css, Less和Sass 【辣椒课堂www.lajiaokt.com] .ts
17-解析图片和字体【辣椒课堂www.lajiaokt.com] .ts
18-webpack中的文件监听【辣椒课堂www.lajiaokt.com].ts
19-webpack中的热更新及原理分析【辣椒课堂www.lajiaokt.com] .ts
20-文件指纹策略: chunkhash, contenthash和hash 【辣椒 堂www.lajiaokt.com] .ts
32-在webpack中使用ESLint 【辣椒课堂www.lajiaokt.com] .ts
40-使用ESLint规范构建脚本【辣椒课堂www.lajiaokt.com】 .ts
21-HTML, CSS和JavaScript代码压缩【辣椒课堂www.lajiaokt.com] .ts
22-自动清理构建目录产物【辣椒课堂www.lajiaokt.com] .ts
23-PostCSS插件autoprefixer自动补齐CSS3前缀【辣椒课堂www.lajiaokt.d24-移动端CSSpx自动转换成rem 【辣椒课堂www.lajiaokt.com].ts
25-静态资源内联【辣椒课堂www.lajiaokt.com] .ts
26-多页面应用打包通用方案【辣椒课堂www.lajiaokt.com] .ts
27-使用sourcemap 【辣椒课堂www.lajiaokt.com] .ts
28-提取页面公共资源【辣椒课堂www.lajiaokt.com] .ts
29-TreeShaking的使用和原理分析【辣椒课堂www.lajiaokt.com].ts
30-ScopeHoisting使用和原理分析【辣椒课堂www.lajiaokt.com].ts
31-代码分割和动态import 【辣椒课堂www.lajiaokt.com] .ts
33-webpack打包组件和基础库【辣椒课堂www.lajiaokt.com] .ts
34-webpack实现SSR打包(上) 【辣椒课堂www.lajiaokt.com] .ts
35-webpack实现SSR打包 (下) 【辣椒课堂www.lajiaokt.com].ts
36-优化构建时命令行的显示日志【辣椒课堂www.lajiaokt.com] .ts
37-构建异常和中断处理【辣椒课堂www.lajiaokt.com].ts
38-构建配置包设计【辣椒课堂www.lajiaokt.com].ts
39-功能模块设计和目录结构【辣椒课堂www.lajiaokt.com] .ts
41-冒烟测试介绍和实际运用【辣椒课堂www.lajiaokt.com] .ts
42-单元测试和测试要盖率【辣椒课堂www.lajiaokt.com] .ts
43-持集成和TravisCI 【辣椒课堂www.lajiaokt.com].ts
44-发布构建包到npm社区 【辣椒课堂www.lajiaokt.com] .ts
45-GitCommit规范和changelog生成【辣椒课堂www.lajiaokt.com] .ts
46-语义化版本(SemanticVersioning)规范格式【辣椒课堂www.lajiaokt.com] .ts
47-初级分析:使用webpack内置的stats
【辣椒课堂www.lajiaokt.com] .ts
48-速度分析:使用speed-measure-webpack-plugin 【辣椒 堂www.lajiaokt.com] .t 49-体积分析:使用webpack-bundle-analyzer 【辣椒课堂www.lajiaokt.com] .ts
50-使用高版本的webpack和Node.js 【辣椒课堂www.lajiaokt.com] .ts
51-多进程-多实例构建【辣椒课堂www.lajiaokt.com] .ts
52-多进程并行压缩代码【辣椒课堂www.lajiaokt.com] .ts
53-进一步分包:预编译资源模块【辣椒课堂www.lajiaokt.com] .ts
54-充分利用缓存提升二次构建速度【辣椒课堂www.lajiaokt.com].ts
55-缩小构建目标【辣椒课堂www.lajiaokt.com] .ts
56-使用TreeShaking擦除无用的JavaScript和Css 【辣椒课堂www.lajiaokt.com].ts
57-使用webpack进行图片压缩【辣椒课堂www.lajiaokt.com] .ts
58-使用动态Polyfill服务【辣椒课堂www.lajiaokt.com] .ts
59-webpack启动过程分析【辣椒课堂www.lajiaokt.com] .ts
60-webpack-cli源码阅读【辣椒课堂www.lajiaokt.com] .ts
61-Tapable插件架构与Hooks设计【辣椒课堂www.lajiaokt.com] .ts
62-Tapable是如何和webpack进行关联起来的? 【辣椒课堂www.lajiaokt.com] .ts
63-webpack流程篇:准备阶段【辣椒课堂www.lajiaokt.com] .ts
64-webpack流程篇:模块构建和chunk生成阶段【辣椒课堂www.lajiaokt.com].ts
65-webpack流程篇:文件生成【辣椒课堂www.lajiaokt.com].ts
66-动手编写一个简易的webpack(上) 【辣椒课堂www.lajiaokt.com] .ts
67-动手编写一个简易的webpack(下) 【辣椒课堂www.lajiaokt.com].ts
68-loader的链式调用与执行顺序[辣椒课堂www.lajiaokt.com].ts
69-使用loader-runner高效进行loader的调试【辣椒课堂www.lajiaokt.com] .ts
70-更复杂的loader的开发场【辣椒课堂www.lajiaokt.com] .ts
71-实战开发一个自动合成雪碧图的loader 【辣椒课堂www.lajiaokt.com] .ts
72-插件基本结构介【辣椒课堂www.lajiaokt.com] .ts
73-更复杂的插件开发场【辣椒课堂www.lajiaokt.com] .ts
74-实战开发一个压缩构建资源为zip包的插件【辣椒课堂www.lajiaokt.com].ts
75-商城技术栈选型和整体架构【辣椒课堂www.lajiaokt.com] .ts
76-商城界面U设计与模块拆分【辣椒课堂www.lajiaokt.com] .ts
77-React全家桶环境搭建【辣椒课堂www.lajiaokt.com] .ts
78-数据库实体和表结构设计【辣椒课堂www.lajiaokt.com] .ts
79-登录注册模块开发【辣椒课堂www.lajiaokt.com] .ts
80-商品模块开发【辣椒课堂www.lajiaokt.com] .ts
81-订单模块开发【辣椒课堂www.lajiaokt.com] .ts
82-谈谈Web商城的性能优化策略【辣椒课堂www.lajiaokt.com].ts
83-功能开发总结【辣椒课堂www.lajiaokt.com] .ts
84-转webpack&结课测试【辣椒课堂www.lajiaokt.com] .ts
加餐: bundle和bundless的差异 【辣椒课堂www.lajiaokt.com] .ts
加餐: Vite的构建原理【辣椒课堂www.lajiaokt.com].ts
加餐: webpack5新特性解析【辣椒课堂www.lajiaokt.com] .ts
评论0