前言
Webpack 作为普遍使用的打包工具,在开发和发布的过程中产出的代码结构,你是否关心过?本文为你揭开它的神秘面纱。
前言
Webpack 是一个打包工具,实际开发中我们可能采用模块化、组件化进行开发,这些单个的文件(模块,Module)通过 rule 的配置使用不同的 Loader 进行处理,并从入口文件经过依赖解析最终输出一个或多个打包文件(模块代码的集合)。前面已经介绍了 Entry 入口文件的处理,本篇将对 Module 的处理部分进行源码分析。
前言
Tapable 库是一个很小的库,它为 Webpack 提供了一个核心能力,就是事件流机制。通过 Hook (钩子)能够让开发者轻松的访问到构建流程中的各个阶级和数据对象。本节将对 Tapable 库源码进行分析。
前言
前端的发展,离不开打包工具的助推。关于打包工具种类繁多,其中 Webpack 作为佼佼者被广泛使用。通过配置选项和 Loader、Plugin,我们可以实现各种功能。那么 Webpack 内部到底是怎么运行,通过本系列的源码学习,希望能给笔者有一个完整的认识。
前言
我们用了前面两个文章的篇幅给出了 Promise 及其相关 API 的完整实现。在实际的业务场景(当然包括大家很关心的面试环节)中有很多是基于 Promise 的实现方式,本篇将给出一部分常见问题的代码解答。
前言
有了上一篇的内容,相信读者你已经对 Promise 的主体实现已经有了一定掌握。本文将是这个系列的中篇内容,本篇将对 Promise 规范里的对象方法和静态方法进行内容,最后在下篇针对实际面试和使用场景进行讲解。
前言
Promise 作为异步编程的一种解决方案,在 ES6 中被标准化,提供了 Promise 对象和一系列的 API。在事件循环、链式调用、调度器实现等面试场景中均有涉及。在本文中笔者将从零实现一个符合 Promise/A+ 标准的 Promise 主体代码逻辑,并在后续系列文章中给出其他方法的实现以及常见的实际使用场景中的解法。
前言
在之前,我们提到 Android 项目的构建需要 Android Gradle 插件来完成。每一个 Gradle 插件就是来帮助任务进行构建的,在你的 build.gradle 文件中应用你的插件并编写构建 DSL (domain specific language)脚本。本章将给你一个直观的插件编写例子,以及 Android Gradle 插件的相关介绍。