TOOLS July 31, 2019

Webpack Freestyle 之 Long Term Cache(webpack 实现持久性缓存)

Words count 7.6k Reading time 7 mins.

原文地址

首先,我们要搞清楚浏览器缓存是怎么工作的。 那么,就让我画一张图来告诉大家吧,嘻嘻。

  • 浏览器: 我需要 foo.js
  • 服务器: 让我找找。找到了,给你,缓存有效期为 1 年。
  • 浏览器: ...
Read article

TOOLS August 03, 2018

编写一个plugin

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

编写一个loader

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

webpack原理及实现

Words count 5.4k Reading time 5 mins.

Webpack 以其使用简单著称,在使用它的过程中,使用者只需把它当作一个黑盒,需要关心的只有它暴露出来的配置。 本节将带你走进这个黑盒,看看 Webpack 是如何运行的。

在了解 Webpack 原理前,需要掌握以下几个核心概念,以方便后面的理解:

  • entry: 入口,Webpack 执行构建的第一步将从 Entry 开始,可抽象成输入。
  • module: 模块,在 Webpack 里一切皆模块,一个模块对应着一个文件。Webpack 会从配置的 Entry 开始递归找出所有依赖的模块。...
Read article

TOOLS April 17, 2018

webpack3,从入门到放弃

Words count 29k Reading time 27 mins.

首先,这篇文章是根据 webpack 版本 (即 v3.4.1) 撰写,较长一段时间内无需担心过时的问题。其次,这应该会是一篇极长的文章,涵盖了基本的使用方法,有更高级功能的需求可以参考官方文档继续学习。再次,即使是基本的功能,也内容繁多,我尽可能地解释通俗易懂,将我学习过程中的疑惑和坑一一解释,如有纰漏,敬请雅正。再次,为了清晰有效地讲解,我会演示从零编写 demo,只要一步步跟着做,就会清晰许多。

本文demo地址

借用官方的说法:

webpack is a module bundler...

Read article
0%