「 TOOLS 」
August 03, 2018
Words count
9.3k
Reading time
8 mins.
Webpack 通过 Plugin 机制让其更加灵活,以适应各种应用场景。 在 Webpack 运行的生命周期中会广播出许多事件,Plugin 可以监听这些事件,在合适的时机通过 Webpack 提供的 API 改变输出结果。
一个最基础的 Plugin 的代码是这样的:
class BasicPlugin{
// 在构造函数中获取用户给该插件传入的配置
construcor(options){
}
apply(compiler){
// Webpack ...
Read article
「 TOOLS 」
August 03, 2018
Words count
9.8k
Reading time
9 mins.
Loader 就像是一个翻译员,能把源文件经过转化后输出新的结果,并且一个文件还可以链式的经过多个翻译员翻译。
以处理 SCSS 文件为例:
SCSS 源代码会先交给 sass-loader 把 SCSS 转换成 CSS;
把 sass-loader 输出的 CSS 交给 css-loader 处理,找出 CSS 中依赖的资源、压缩 CSS 等;
把 css-loader 输出的 CSS 交给 style-loader 处理,转换成通过脚本加载的 JavaScript 代码;
module.exports...
Read article
「 原理及实现 」
August 03, 2018
Words count
5.4k
Reading time
5 mins.
Webpack 以其使用简单著称,在使用它的过程中,使用者只需把它当作一个黑盒,需要关心的只有它暴露出来的配置。 本节将带你走进这个黑盒,看看 Webpack 是如何运行的。
在了解 Webpack 原理前,需要掌握以下几个核心概念,以方便后面的理解:
- entry: 入口,Webpack 执行构建的第一步将从 Entry 开始,可抽象成输入。
- module: 模块,在 Webpack 里一切皆模块,一个模块对应着一个文件。Webpack 会从配置的 Entry 开始递归找出所有依赖的模块。...
Read article
「 TOOLS 」
April 17, 2018
Words count
29k
Reading time
27 mins.
首先,这篇文章是根据 webpack 版本 (即 v3.4.1) 撰写,较长一段时间内无需担心过时的问题。其次,这应该会是一篇极长的文章,涵盖了基本的使用方法,有更高级功能的需求可以参考官方文档继续学习。再次,即使是基本的功能,也内容繁多,我尽可能地解释通俗易懂,将我学习过程中的疑惑和坑一一解释,如有纰漏,敬请雅正。再次,为了清晰有效地讲解,我会演示从零编写 demo,只要一步步跟着做,就会清晰许多。
本文demo地址
借用官方的说法:
webpack is a module bundler...
Read article