gulp.registry()

2020-09-30 18:06 更新

gulp.registry()介紹

允許將自定義的注冊(cè)表插入到任務(wù)系統(tǒng)中,以期提供共享任務(wù)或增強(qiáng)功能。

注意: 只有用 task() 方法注冊(cè)的任務(wù)才會(huì)進(jìn)入自定義注冊(cè)表中。直接傳遞給 series() 或 parallel() 的任務(wù)函數(shù)(task functions)不會(huì)進(jìn)入自定義任務(wù)注冊(cè)表 - 如果你需要自定義注冊(cè)表的行為,請(qǐng)通過字符串引用的方式將任務(wù)(task)組合在一起。

分配新注冊(cè)表時(shí),將傳輸當(dāng)前注冊(cè)表中的每個(gè)任務(wù),并將用新注冊(cè)表替換當(dāng)前注冊(cè)表。這允許按順序添加多個(gè)自定義注冊(cè)表。

有關(guān)詳細(xì)信息,請(qǐng)參考 創(chuàng)建自定義注冊(cè)表 。

gulp.registry()用法

const { registry, task, series } = require('gulp');
const FwdRef = require('undertaker-forward-reference');

registry(FwdRef());

task('default', series('forward-ref'));

task('forward-ref', function(cb) {
  // body omitted
  cb();
}); 

gulp.registry()函數(shù)原型

registry([registryInstance])

參數(shù)

參數(shù)類型注解
registryInstanceobject自定義注冊(cè)表的實(shí)例(而不是類)。

返回值

如果傳遞了 registryInstance,則不會(huì)返回任何內(nèi)容。如果沒有傳遞參數(shù),則返回當(dāng)前注冊(cè)表實(shí)例。

可能出現(xiàn)的錯(cuò)誤

當(dāng)一個(gè)構(gòu)造函數(shù)(而不是一個(gè)實(shí)例)作為 registryInstance 傳遞時(shí),拋出一個(gè)錯(cuò)誤,并提示 "Custom registries must be instantiated, but it looks like you passed a constructor"(必須實(shí)例化自定義注冊(cè)表,但它看起來像您傳遞了一個(gè)構(gòu)造函數(shù))。

當(dāng)傳入的 registryInstance 沒有 get 方法時(shí),將拋出一個(gè)錯(cuò)誤,提示 "Custom registry must have get function"。

當(dāng)傳入的 registryInstance 沒有 set 方法時(shí),將拋出一個(gè)錯(cuò)誤,提示 "Custom registry must have set function"。

當(dāng)傳入的 registryInstance 沒有 init 方法時(shí),將拋出一個(gè)錯(cuò)誤,提示 "Custom registry must have init function"。

當(dāng)傳入的 registryInstance 沒有 tasks 方法時(shí),將拋出一個(gè)錯(cuò)誤,提示 "Custom registry must have tasks function"。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)