2016-05-22 25 views
1

我正在嘗試構建我的框架,以便它更健壯並且可重用。任務似乎已註冊但無法運行?

​​

index.js我使用require(./tasks/_assets.js)(gulp, config);

我有內部_assets.js控制檯日誌,我可以看到,在輸出時,如果我跑一飲而盡-T我得到的迴應:

[08:17:44] ├── assets 
[08:17:44] ├── build 
[08:17:44] └─┬ default 
[08:17:44] └── build 

構建簡單的使用run-sequence()運行資產。顯然,任務是在這裏註冊的,但如果我只是運行在cmd中gulp,我得到:

Starting 'build'... 
[08:18:19] 'build' errored after 1.76 ms 
[08:18:19] Error: Task assets is not configured as a task on gulp. If this is a submodule, you may need to use require('run-sequence').use(gulp). 

我用用一口嘗試,但只是創造更多的錯誤。

任何想法?

回答

1

我自從發現模塊run-sequence告訴我我需要做什麼,但我沒有意識到這是run-sequence模塊特有的。

無論我是一個子模塊中使用run-sequence我需要做到以下幾點:

module.exports = function(gulp, config) { 
    var runSequence = require('run-sequence').use(gulp); 
} 

run-sequence

一口子模塊內使用

如果你有一個複雜的gulp設置與你的任務分離在不同的文件中,你可能會得到run-sequence無法找到你的任務的錯誤。在這種情況下,您可以配置運行序列看一飲而盡子模塊中,像這樣:

// submodule tasks/mygulptask.js 
var gulp = require('gulp'), 
// might be a different instance than the toplevel one 
// this uses the gulp you provide 
runSequence = require('run-sequence').use(gulp); 
// ...and then use normally 
runSequence('subtask1', 'subtask2'); 
相關問題