npm 包 gulp-taskfromstreams 使用教程

介绍

Gulp 是前端工程化的时代的代表之一。它是一种方便快捷的任务运行工具,可以自动执行各种前端任务,如编译 sass 和 less 样式,压缩 js、css、html 等文件,图片压缩等等。而随着前端工作的不断变化,gulp 的插件库也在不断地更新,其中就有一个名为 gulp-taskfromstreams 的插件。本文将介绍如何使用该插件来提高前端工程的开发效率。

安装

在使用 gulp-taskfromstreams 插件之前,需要先来安装它。打开命令行窗口,切换到你的项目目录下输入以下命令:

--- ------- -------------------- ----------

这个命令通过 npm 从远程仓库中下载 gulp-taskfromstreams 插件,并同时保存在你的项目中(--save-dev 参数表示将此插件作为开发时的依赖)。

使用

gulp-taskfromstreams 插件的作用是将以流(stream)的方式返回的一组任务(task)包装成 gulp 任务(task),并且它只需要定义一次任务,之后就可以被多次调用。

gulp 任务的定义通常如下所示:

--------------------- ---------- -
  -- ---- -----
---

使用 gulp-taskfromstreams 插件后,我们就可以将流式任务包装成 gulp 任务:

--- --------------- - --------------------------------
--------------------- -------------------- ---- ------

其中,fn1fn2 等都是以流式的方式定义的任务,它们可以是 gulp 插件中的某种功能函数,或是自己定义的一些任务。假设我们要将 images 目录中的所有图片进行压缩,此时我们可以使用 gulp-imagemin 插件(需要先安装):

--- -------- - -------------------------
--- ---------------- - -----------------------------
--- ---------------- - -----------------------------

------------------------ ----------------
  -------- -------- -
    ------ ----------------------------------------------
      ----------------
        -------------------
        -------------------------- ----------
      ---
      --------------------------------
  --
---

上例中,我们定义了一个名为 minifyImage 的 gulp 任务,通过给 taskFromStreams 函数传递一个以流式方式定义的 imgMin 函数,将其包装成可被 gulp 调用的任务。imgMin 函数使用 gulp-imagemin 插件来处理图片,将其压缩并输出到 dist/images 目录中。其他类型的多个任务也可以使用 taskFromStreams 函数包装成流式任务,带来更高的代码重用和开发效率。

示例代码

一个完整的示例代码可以如下所示:

--- ---- - ----------------
--- --------------- - --------------------------------
--- ---- - ---------------------
--- ------------ - -----------------------------
--- -------- - --------------------------
--- -------- - -------------------------
--- ------ - -----------------------

----------------- ----------------
  -------- ------------ -
    ------ ------------------------
  --
  -------- ------------- -
    ------ -------
  --
  -------- ------------ -
    ------ ---------------
  --
  -------- ----------- -
    ------ -----------
  --
  -------- ---------- -
    ------ ----------------------
  --
---

------------------------ ----------------
  -------- -------- -
    ------ ----------------------------------------------
      ----------------
        -------------------
        -------------------------- ----------
      ---
      --------------------------------
  --
---

--------------------- ----------------
  -------- ------------ -
    ------ --------------------
  --
  -------- ---------- -
    ------ ---------
  --
  -------- --------- -
    ------ ---------------------
  --
---

-------------------- --------------------- -------------- -------------

上例中,我们定义了三个 gulp 任务:sassminifyImageuglifyJs,并且它们均使用了 gulp-taskfromstreams 插件来包装流式任务。其中,sass 任务将 sass 文件编译成 css 并进行前缀添加和压缩,最后输出到 dist/css 目录中;minifyImage 任务对 images 目录中的图片进行压缩处理,并输出到 dist/images 目录中;uglifyJs 任务对 js 文件进行压缩,并输出到 dist/js 目录中。最后,我们还定义了一个名为 default 的 gulp 任务,它并行执行上述三个任务。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/61595


猜你喜欢

  • npm 包 react-addons-shallow-compare 使用教程

    在 React 中,组件之间的性能优化是非常重要的。在组件内部,我们可以使用 PureCompoent 来避免不必要的更新,但是在组件之间的比较时,我们需要一个工具来帮助我们进行比较并且决定是否重新渲...

    6 年前
  • npm 包 js-writer 使用教程

    介绍 js-writer 是一个开源的 JavaScript 库,它提供了一种方便的方式,让开发者在浏览器中以流形式写入数据。该库使开发者能够在内存中缓冲大量数据,将数据分块写入磁盘,而无需将整个数据...

    6 年前
  • npm 包unexpected-htmllike-testrenderer-adapter使用教程

    简介 unexpected-htmllike-testrenderer-adapter 是一个 npm 包,旨在帮助前端开发人员编写更好的测试,测试渲染器 (renderer) 返回的 HTML。

    6 年前
  • npm 包 domino 使用教程

    在前端开发中,我们常常需要使用到浏览器对象模型(Browser Object Model,BOM)和文档对象模型(Document Object Model,DOM)。

    6 年前
  • npm 包 react-render-hook 使用教程

    前言 在前端开发中,有时候我们需要在一些特定的场景下获取到组件渲染后的结果,比如在进行前端测试、编写爬虫程序等等。而这个时候,npm 包 react-render-hook 就可以派上用场。

    6 年前
  • NPM包unexpected-htmllike-raw-adapter使用教程

    简介 unexpected-htmllike-raw-adapter是一个npm包,它提供了一种与unexpected测试框架一起使用的方法,帮助测试某些不依赖于DOM操作的前端代码。

    6 年前
  • npm 包 unexpected-htmllike-jsx-adapter 使用教程

    前端领域有许多优秀的 npm 包可以帮助我们更好地开发应用程序, unexpected-htmllike-jsx-adapter 就是其中一种。它是一个适配器,将 Jest 的 expect API ...

    6 年前
  • npm 包 unexpected-htmllike 使用教程

    简介 unexpected-htmllike 是一个使用 Javascript 和 Node.js 编写的 npm 包,用于测试 HTML 和类似 HTML 结构(如 XML、SVG)等。

    6 年前
  • npm 包 gulp-cheerio 使用教程

    在前端开发中,我们经常需要对网页的 DOM 结构进行操作和处理。这时候,一个非常好用的 npm 包就是 gulp-cheerio。它能够让我们在 gulp 构建过程中轻易地使用 jQuery 语法对网...

    6 年前
  • npm包unexpected-react使用教程

    介绍 unexpected-react是一个npm包,它提供了一种使用断言测试React组件的方法。这个npm包使测试React组件变得简单,易于阅读,并且易于维护。

    6 年前
  • 使用 unexpected-dom 进行前端测试

    无论是在开发新的项目还是维护现有项目时,前端测试都是一个非常重要的环节。在 JavaScript 领域中,测试工具库非常丰富,其中包括 Jest、Mocha、Chai 等。

    6 年前
  • npm包react-select-plus使用教程

    前言 React是目前最流行的前端框架之一,为了能够提高开发的效率,很多工具都被开发出来了。其中,npm包react-select-plus是一个很强大的工具。它是一个React的组件库,可以用来创建...

    6 年前
  • npm 包 axios-mock-adapter 使用教程

    简介 在前端开发中,我们经常需要跟后端 API 打交道。而在开发过程中,我们通常不会直接访问后端接口,而是通过模拟数据来进行开发,这就需要一个 Mock 数据的工具。

    6 年前
  • npm 包 wealthfront-javascript 使用教程

    在前端开发中,npm 是一个非常常用的包管理工具,它能够方便地管理你的项目依赖、发布自己的包等等。而 wealthfront-javascript 这个包,则可以帮助我们更方便地与 Wealthfro...

    6 年前
  • npm 包 sinon-sandbox 使用教程

    在前端开发中,进行单元测试是非常重要的环节。而 sinon-sandbox 的出现,能够让我们更方便地进行单元测试,并且减少出现错误的可能性。本篇文章将会介绍 npm 包 sinon-sandbox ...

    6 年前
  • npm 包 babel-plugin-react-svg 使用教程

    在前端开发中,我们时常需要使用 SVG 图片来丰富页面内容和提高用户体验。然而,直接在 React 代码中引用 SVG 文件并不是一件方便的事情,因为 SVG 文件是一种标记语言,需要进行一定的解析和...

    6 年前
  • npm 包 react-svg-core 使用教程

    简介 在前端开发中,常常需要在网页中使用 SVG 图形进行美化或与业务逻辑的交互。而 react-svg-core 是一个方便的 npm 包,提供了统一的 SVG 组件,同时还支持自定义属性、事件和样...

    6 年前
  • npm 包 react-svg-loader 使用教程

    在前端开发中,我们常常需要使用 SVG 图片来实现各种效果和动画。为了方便使用和管理,我们可以使用 react-svg-loader 这个 npm 包来加载 SVG 图片。

    6 年前
  • npm 包 react-times 使用教程

    前言 在前端开发中,时间处理是一个常见且重要的问题。而日历和时间选择器组件是非常常见的 UI 组件,也是很多前端开发者在实现项目中经常需要用到的两种组件。而 react-times 这个 npm 包就...

    6 年前
  • npm 包 cli-clear 使用教程

    介绍 当我们在使用命令行工具进行开发时,有时候会觉得之前的输出信息过多,需要清空终端窗口的内容。这个时候,我们需要使用 npm 包 cli-clear 来清空终端窗口。

    6 年前

相关推荐

    暂无文章