Plugins personnalisés (avancés)
Tout d'abord, nous devons préciser qu'en tant que programme général, il ne devrait pas y avoir trop d'exigences de personnalisation privée dans le noyau si vous souhaitez lister tous les programmes dans le répertoire racine après gulp dev<. /code> La fonction html veut afficher la fenêtre du navigateur directement après le téléchargement réussi de
. gulp ftp
. Si pense qu'elle est trop intrusive et ne devrait donc pas être utilisée comme fonction intégrée dans un flux de travail général. , nous fournissons la fonction < code>Plug-ingulp 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
fournit non seulement plusieurs tâches courantes, mais ouvre également l'interface de rappel pour chaque tâche courante. Il vous suffit d'écrire des plug-ins selon la méthode du nœud et vous pouvez concevoir ce que vous voulez. veulent en fonction des besoins spécifiques. La fonction permet aux utilisateurs d'étendre les tâches qu'ils souhaitent sans lire le code source de tmt-workflow
, ce qui réduit non seulement le coût d'apprentissage, mais réduit également le degré de couplage du flux de travail. . Ci-dessous, nous utilisons un exemple simple pour illustrer comment utiliser la fonction plug-in personnalisé
. 1. Configurez .tmtworkflowrc
var rd = require('rd'); var fs = require('fs'); var path = require('path'); //插件必需按 node 模块规范编写 module.exports = function (config) { // do some stuff ... }comme ci-dessus, chaque attribut de champ correspond à chaque tâche, spécifiez le plug-in sous la forme d'un tableau, et exécutez les plug-ins spécifiés dans le tableau dans l'ordre. Par exemple, nous nommons notre plug-in
TmTIndex
. 2. Créez un nouveau TmTIndex.js dans le répertoire
_tasks/plugins/
rrreeeComme ci-dessus, le plug-in doit uniquement être écrit selon la spécification du module de nœud pour atteindre l'objectif. fonctions que vous souhaitez.