玩转 webpack
程柳锋
腾讯高级工程师,IVWEB 团队社区和工程化负责人
27458 人已学习
新⼈⾸单¥68
课程目录
已完结/共 87 讲
加餐:webpack 5 专题内容 (3讲)
玩转 webpack
登录|注册
留言
7
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 39 | 功能模块设计和目录结构
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 为什么需要构建工具
04 | 前端构建演变之路
05 | 为什么选择webpack
06 | 初识webpack
07 | 环境搭建:安装webpack
08 | webpack初体验:一个最简单的例子
09 | 通过npm script运行webpack
10 | webpack核心概念之entry
11 | webpack核心概念之output
12 | webpack核心概念之loaders
13 | webpack核心概念之plugins
14 | webpack核心概念之mode
15 | 解析ECMASCript 6和React JSX
16 | 解析CSS、Less和Sass
17 | 解析图片和字体
18 | webpack中的文件监听
19 | webpack中的热更新及原理分析
20 | 文件指纹策略:chunkhash、contenthash和hash
21 | HTML 、CSS和JavaScript代码压缩
22 | 自动清理构建目录产物
23 | PostCSS插件autoprefixer自动补齐CSS3前缀
24 | 移动端CSS px自动转换成rem
25 | 静态资源内联
26 | 多页面应用打包通用方案
27 | 使用sourcemap
28 | 提取页面公共资源
29 | Tree Shaking的使用和原理分析
30 | Scope Hoisting使用和原理分析
31 | 代码分割和动态import
32 | 在webpack中使用ESLint
33 | webpack打包组件和基础库
34 | webpack实现SSR打包(上)
35 | webpack实现SSR打包(下)
36 | 优化构建时命令行的显示日志
37 | 构建异常和中断处理
38 | 构建配置包设计
39 | 功能模块设计和目录结构
40 | 使用ESLint规范构建脚本
41 | 冒烟测试介绍和实际运用
42 | 单元测试和测试覆盖率
43 | 持续集成和Travis CI
44 | 发布构建包到npm社区
45 | Git Commit规范和changelog生成
46 | 语义化版本(Semantic Versioning)规范格式
47 | 初级分析:使用webpack内置的stats
48 | 速度分析:使用speed-measure-webpack-plugin
49 | 体积分析:使用webpack-bundle-analyzer
50 | 使用高版本的webpack和Node.js
51 | 多进程/多实例构建
52 | 多进程并行压缩代码
53 | 进一步分包:预编译资源模块
54 | 充分利用缓存提升二次构建速度
55 | 缩小构建目标
56 | 使用Tree Shaking擦除无用的JavaScript和CSS
57 | 使用webpack进行图片压缩
58 | 使用动态Polyfill服务
59 | webpack启动过程分析
60 | webpack-cli源码阅读
61 | Tapable插件架构与Hooks设计
62 | Tapable是如何和webpack进行关联起来的?
63 | webpack流程篇:准备阶段
64 | webpack流程篇:模块构建和chunk生成阶段
65 | webpack流程篇:文件生成
66 | 动手编写一个简易的webpack(上)
67 | 动手编写一个简易的webpack(下)
68 | loader的链式调用与执行顺序
69 | 使用loader-runner高效进行loader的调试
70 | 更复杂的loader的开发场
71 | 实战开发一个自动合成雪碧图的loader
72 | 插件基本结构介绍
73 | 更复杂的插件开发场景
74 | 实战开发一个压缩构建资源为zip包的插件
75 | 商城技术栈选型和整体架构
76 | 商城界面UI设计与模块拆分
77 | React全家桶环境搭建
78 | 数据库实体和表结构设计
79 | 登录注册模块开发
80 | 商品模块开发
81 | 订单模块开发
82 | 谈谈Web商城的性能优化策略
83 | 功能开发总结
84 | 玩转webpack结束语
加餐:webpack 5 新特性解析
加餐:bundle和bundless的差异
加餐:Vite的构建原理
本节摘要
登录 后留言

全部留言(7)

  • 最新
  • 精选
王鹏
html-webpack-externals-plugin 两年没更新了,有bug,比如多页面时,或导致html中重复引入 <script> 标签,而且看视频中老师编译之前,不仅在 webpack 配置中指定一遍地址,还需要在 html 模板中再写以便。 在该插件的github issues 上,按图索骥,找到了替代方案,朋友们可以试试看,只需要使用 html-webpack-tags-plugin 这个插件(https://github.com/jharris4/html-webpack-tags-plugin),在webpack配置中,HtmlWebpackPlugins 的后面增加如下配置,会和 html-webpack-externals-plugin 插件干的事情类似,插入脚本标签到 html 中,同时自动为 webpack 增加 externals 属性 (文档中有一句:Will add the following properties to the webpack.compilation.options.externals),这个webpack 的 externals 字段就是用来将一些三方 vendors 库从输出文件中去除,我们没有手动配置,是因为了这两个插件背地里自动去做了。 经过上面的讲解,下面该插件为什么这么使用,大概就能明白了吧,具体可以自行查看文档。 ```js new HtmlWebpackTagsPlugin({ scripts: [ { path: 'https://11.url.cn/now/lib/16.2.0/react.min.js', external: { packageName: 'react', variableName: 'React' } }, { path: 'https://11.url.cn/now/lib/16.2.0/react-dom.min.js', external: { packageName: 'react-dom', variableName: 'ReactDOM' } } ] }), ``` 现在尝试注释以上的配置,会发现 react 和 react-dom 两个包,又被打包进 index.js 或 search.js 代码中了,说明它们确实做了两件事: 1. 注入 script 标签 2. 在 webpack 编译过程中指定 externals 字段 https://github.com/jharris4/html-webpack-tags-plugin
2019-12-25
1
7
灰灰
css或者less的loader,在dev和prod的时候是不一样的。一个用style-loader,一个用MiniCssExtractPlugin.loader。在视频中没有做区分。
2019-07-20
4
袋袋
dev开发环境的mode忘改了🤣🤣
2019-07-10
1
4
拯救不开心
webpack.ssr.js中,css 和 less 不解析,为什么? 之前的SSR课程中,服务端打包为了让样式生效,使用的打包后的 dist/search.html 作为模板,那也是因为 css 已经被解析内联到 html 中才可以哇。 另外,就算是css不做处理,那是如何使用的? 还有,less 不做处理,又是如何被解析使用的?
2019-12-28
1
我在时光机里找回忆
我记得之前有一些插件是一个HTML文件就得用一个实例的,所以我写到多页面打包那里去了,如果不同模式下需要对HTML使用的插件不同,该怎么办呢?多页面打包是写到基础配置的啊
2021-05-06
愣锤
老师,您所有的rules的test的正则参数,都应该对点进行转译一下吧。比如/.js$/,应该是是/\.js$/
2020-03-02
ziv
好像都没配置output
2019-07-16
1
收起评论