使用 task-conveyor 执行前端构建

npm 是 JavaScript 世界中最常用的包管理工具,而 task-conveyor 则是一个基于 npm 包的前端任务/流程控制工具。

安装

首先需要确保已安装了 npm 和 Node.js 版本 >= 10.0.0。

全局安装 task-conveyor:

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

使用

task-conveyor 的使用基于命令行,可以在终端中指定想要执行的任务集合:

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

其中 task-1 和 task-2 分别指代任务的名称,可以通过逗号分隔指定多个任务。--options 指定可选项,例如可以通过 -b 指定想要运行的构建版本:

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

创建任务

在使用 task-conveyor 前需要先定义任务,任务是一个 JavaScript 模块,其中包含一个名为 run 的函数。例如,在当前项目中新建一个名为 generate 的任务,可以创建一个 tasks 目录,在其中新建一个名为 generate.js 的文件:

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

在这个文件中,run 函数对应要执行的任务内容,在这个例子中简单的打印了一行日志。

创建依赖

一个任务可能会依赖于其他任务的执行结果,可以通过在任务定义中指定 dependsOn 来定义任务依赖。

例如,在上述的 generate 任务中,还需要先执行另外一个名为 clean 的任务来清理之前生成的文件,可以通过如下方式定义依赖:

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

在这里指定了一个名为 clean 的任务作为当前任务的依赖。

环境变量

task-conveyor 支持通过环境变量来控制任务的运行。例如,可以通过 NODE_ENV 环境变量来设置当前任务运行的环境:

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

同时,也可以在任务定义中自行添加其他的环境变量。

示例代码

下面是在基于 task-conveyor 定义的一个 Gulp 构建项目的示例代码,包含了 cleanbuildwatch 三个任务:

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

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

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

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

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

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

其中,clean 通过 del 插件删除构建目录下的所有文件;build 编译所有的 SCSS 文件到构建目录下,并同时生成 source maps,最后通过 cleanCSS 插件压缩 CSS 输出;watch 监听源文件目录下的 SCSS 文件变化,并实时更新构建目录下的文件。

结论

task-conveyor 通过简单地定义和组合任务,以及支持依赖和环境变量等功能,提供了一个轻量级的前端流程控制工具,可以方便地构建和管理前端项目。

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


猜你喜欢

  • npm 包 twinejson-cli 使用教程

    简介 twinejson-cli 是一个 npm 包,用于将 Twine 中创建的交互小说中的数据导出为 JSON 格式,以便在 Web 应用程序中使用。本教程将介绍如何安装、使用、以及扩展 twin...

    2 年前
  • NPM包exhibit-helper-filemap-vm使用教程

    exhibit-helper-filemap-vm是一款针对前端应用的NPM包,提供了一些文件映射相关的功能。在这篇文章中,我们将深入介绍这个包的使用方法,包括安装、引入、API功能介绍和实际应用示例...

    2 年前
  • npm 包 webpack-plugin-relay-touch-dependents 使用教程

    webpack-plugin-relay-touch-dependents 是一个基于 webpack 的插件,可以帮助我们在使用 Relay 框架进行开发时,自动更新依赖关系,减小构建包的体积。

    2 年前
  • npm 包 exhibit-plugin-vm 使用教程

    简介 exhibit-plugin-vm 是一个在浏览器中运行虚拟机的 npm 包,它为前端开发者提供了一个简单易用的方式来运行 JavaScript 代码。在本文中,我们将介绍如何使用 exhibi...

    2 年前
  • npm 包 node-mplayer-lirongfei 使用教程

    在前端开发中,我们经常需要使用到音频播放功能。而 node-mplayer-lirongfei 是一款基于 Node.js 的音频播放库,它的主要特点是支持多种格式的音频文件,并且具有丰富的播放控制功...

    2 年前
  • npm 包 marvel-dc-name-generator 使用教程

    随着前端技术的不断发展,现在越来越多的开源工具和框架被开发出来,方便了前端开发人员的工作。其中一个非常有用的开源工具就是 npm 包 marvel-dc-name-generator。

    2 年前
  • npm 包 the-demo-controller 使用教程

    前言 在项目开发过程中,有时需要通过展示示例来更好地体现功能。而 the-demo-controller 就是一个 npm 包,可以用于展示示例,并方便地对示例进行管理。

    2 年前
  • npm 包 tachyons-flex-grid 使用教程

    简介 tachyons-flex-grid 是一个基于 Tachyons 框架的用于创建响应式网格化布局的 npm 包。 它提供了一种更加简洁和易于使用的方法来创建灵活的响应式布局,同时保留了 Tac...

    2 年前
  • npm 包 twitterfetcher 使用教程

    在前端开发的过程中,经常需要获取 Twitter 上的数据。而且,使用 twitterfetcher 这个 npm 包,可以轻松地获取 Twitter 上的信息,包括推文、用户以及带有指定主题的推文等...

    2 年前
  • npm 包 metrictools 使用教程

    简介 npm 包 metrictools 是一款用于浏览器端以及服务器端的性能分析工具,它帮助前端开发者以及运维人员全面了解应用程序的运行状态以及性能瓶颈。 metrictools 可以为我们提供多个...

    2 年前
  • npm 包 sensitive-words-tutorial 使用教程

    在前端开发中,敏感词过滤是常见的需求,但是手动实现比较麻烦。幸运的是,有一个 npm 包叫做 sensitive-words,它提供了方便的敏感词过滤功能。 本文将详细介绍 npm 包 sensiti...

    2 年前
  • npm 包 expo-browser-push 使用教程

    前言 如今,移动应用开发已成为一个非常重要的领域。作为前端工程师,我们需要掌握越来越多的在移动应用开发、桌面应用开发等方面的技能。其中一个重要的技术就是推送服务。 在移动和桌面应用的推送服务中,exp...

    2 年前
  • npm 包 angular2-multimentions 使用教程

    在前端开发中,经常需要使用到输入框中所谓“@多选”功能,如邮件地址输入时可以输入多个地址,并且可以使用自动提示功能。这时,我们可以使用一个方便的 npm 包 angular2-multimention...

    2 年前
  • npm 包 spellcheck-json 使用教程

    在软件开发过程中,英语拼写错误是一个很常见的问题,有时甚至会导致一些非常尴尬的情况。如果你正在开发一个多语言的应用程序,或者需要在文本中使用英文单词,那么一个好的拼写检查工具是非常必要的。

    2 年前
  • npm 包 js-cake 使用教程

    简介 js-cake 是一款 Node.js 的 npm 包,它的功能是实现一个类似于烘焙蛋糕的模式,允许你将一些小的功能模块组织成大的、可重用的模块。 安装 你可以通过 npm 安装 js-cake...

    2 年前
  • npm 包 ltvnode 使用教程

    在前端开发中,我们经常需要使用各种 npm 包来实现某些功能或者优化代码,其中 ltvnode 是一个十分实用的 npm 包,它是一个用于计算移动 App 中的生命周期价值(LTV)的工具,能够帮助开...

    2 年前
  • npm 包 vue-kijin-validator 使用教程

    简介 vue-kijin-validator 是一个基于 Vue.js 的表单验证插件,它能够快速开发前端表单验证功能,让你的表单验证更加简便、方便和可靠。它内置了一些验证规则,同时也支持自定义规则的...

    2 年前
  • npm 包 svelte-transitions-fade 使用教程

    前言 在前端开发中,动画效果是非常重要的一部分。为了方便实现各种动画效果,开发者们常常利用第三方库和框架。在 Svelte 框架中,有一个非常好用并且易于学习的 npm 包 - svelte-tran...

    2 年前
  • npm 包 arranbartish-angular-cli-widgets 使用教程

    简介 arranbartish-angular-cli-widgets 是一个前端技术包,可以用于 Angular CLI 提供的可复用部件的集合。这个包的目的是为了使开发者能够更加快速、方便地构建 ...

    2 年前
  • npm包express-router-zen使用教程

    在Web开发中,使用框架快速搭建出一个可用的项目非常重要。Express是Node.js最流行的Web应用程序框架之一,具有灵活性和易用性,但是要想实现复杂的路由控制,需要较多的代码量。

    2 年前

相关推荐

    暂无文章