사용자 정의 플러그인(고급)
우선, 일반 프로그램으로서 gulp dev< 다음에 루트 디렉터리에 있는 모든 프로그램을 나열하려면 코어에 너무 많은 개인 사용자 정의 요구 사항이 있어서는 안 된다는 점을 분명히 해야 합니다. /code> html 함수는
gulp ftp
가 성공적으로 업로드된 후 바로 브라우저 창을 팝업하려고 합니다. Si는 이 함수가 너무 방해가 되므로 일반 작업 흐름에서 통합 함수로 사용해서는 안 된다고 생각합니다. , 플러그인
기능을 제공합니다. gulp dev
后列出根目录下所有的 html 功能,想在 gulp ftp
上传成功后直接弹出浏览器窗口,斯认为,侵入性过强,不应作为一个通用工作流的集成的功能,所以,我们提供了 插件
功能。
tmt-workflow
不仅提供了多个常用任务,还开放了各个常用任务的回调接口,您只需按 node 的方式编写插件,即可自行根据具体需求设计自己想要的功能,使得用户不需要通读 tmt-workflow
源码,就可以扩展自己想要的任务,既降低了学习成本,也降低了工作流的耦合度。
下面,我们以一个简单的示例说明如何使用 自定义插件
功能。
1. 配置 .tmtworkflowrc
//插件功能 //路径相对于 tasks/plugins 目录 "plugins": { "build_devAfter": ["TmTIndex"], //build_dev 任务执行后自动执行 "build_distAfter": [], //build_dist 任务执行后自动执行 "ftpAfter": ["ftp"] //ftp 任务执行后自动执行 },
如上,每个字段属性对应各个任务,以数组形式指定插件,依次执行数组指定的插件,如我们给我们的插件命名为 TmTIndex
。
2. 在 _tasks/plugins/
tmt-workflow
는 여러 공통 작업을 제공할 뿐만 아니라 각 공통 작업에 대한 콜백 인터페이스도 엽니다. 노드 방식에 따라 플러그인을 작성하기만 하면 되며 원하는 대로 디자인할 수 있습니다. 이 기능을 사용하면 tmt-workflow
의 소스 코드를 읽지 않고도 원하는 작업을 확장할 수 있어 학습 비용이 절감될 뿐만 아니라 워크플로의 결합 정도도 줄어듭니다. . 아래에서는 간단한 예를 사용하여 사용자 정의 플러그인
기능을 사용하는 방법을 보여줍니다. 1. 위와 같이 .tmtworkflowrc
var rd = require('rd'); var fs = require('fs'); var path = require('path'); //插件必需按 node 模块规范编写 module.exports = function (config) { // do some stuff ... }를 구성하고 각 필드 속성은 각 작업에 해당하며, 배열 형식으로 플러그인을 지정하고 배열에 지정된 플러그인을 실행합니다. 예를 들어 플러그인 이름을
TmTIndex
로 지정합니다. 2.
_tasks/plugins/
디렉터리에 새 TmTIndex.js를 생성합니다rrreee위와 같이 노드 모듈 사양에 따라 플러그인을 작성하기만 하면 됩니다. 당신이 원하는 기능.