簡體   English   中英

Gulp和run-sequence錯誤:任務未配置為gulp上的任務

[英]Gulp and run-sequence error : Task is not configured as a task on gulp

我正在嘗試將run-sequence添加到我的gulp工作流程中,但每次我嘗試執行我使用run-sequence的任務時都會出現此錯誤:

任務未配置為gulp上的任務。

根據運行順序的來源,這是由此測試引起的:

if (isTask && !gulp.hasTask(t)) {
    throw new Error("Task "+t+" is not configured as a task on gulp.");
}

我的任務被分成多個文件,如果我執行單個任務或具有依賴性的任務,一切正常,我唯一的錯誤就是這個:

'use strict';

var gulp = require('gulp'),
    runSequence = require('run-sequence');

module.exports = gulp.task('default', function() {
    if (release) {
        runSequence(
            'clean',
            ['index', 'styles', 'images', 'fonts', 'templates'],
            'browserify',
            'minify'
        );
    } else {
        runSequence(
            'clean',
            ['index', 'styles', 'images', 'fonts', 'templates'],
            ['watchify', 'watch']
        );
    }
});

測試不應該失敗,因為當我嘗試在runSequence函數之前添加這段代碼時,對於我嘗試在函數中執行的每個任務,它輸出為true:

console.log(gulp.hasTask('clean'); // Output true
runSequence(
    'clean',
    ['index', 'styles', 'images', 'fonts', 'templates'],
    ['watchify', 'watch']
);

但我仍然有錯誤: 任務清理未配置為gulp上的任務。 如果我從數組中刪除'clean',它將在下一個任務中失敗: 任務索引未配置為gulp上的任務。

如果有人知道這里發生了什么......

謝謝您的幫助。

您的run-sequence是全局安裝還是本地安裝?

嘗試在本地安裝,這解決了我的問題!

npm install run-sequence

我有同樣的問題,而我的解決方案是在Jacob Thomason提到的我的要求聲明中這樣做。

var runSequence = require('run-sequence').use(gulp);

問題是run-sequence在使用依賴項構建自身方面做得不好。 由於gulp是一個依賴項,它應該把它作為一個參數,你需要提供給構造函數。 不幸的是,它的編寫方式很難做到這一點。 有一個.use()方法,您可以鏈接到模塊的require()語句,以定義gulp模塊,但即使這是一廂情願的想法,假設在gulp模塊的地方正在進行require語句的引導是可用的。

我剛剛重寫了它。 它與當前版本不同,因為API已經發生了一些變化。 您需要構建模塊,將其分配給變量並調用run()方法,傳遞當前文檔中描述的任務和選項。

你可以在這里查看......

https://github.com/oojacoboo/run-sequence

如果人們想要,我可以更新自述文件,可能會給它另一個非沖突的名稱,並清理一些東西。 我意識到重寫可能比某些人更喜歡分歧,但依賴關系現在至少可以得到妥善處理。

如果需要拆分為多個文件,請使用此配方。 https://github.com/gulpjs/gulp/blob/master/docs/recipes/split-tasks-across-multiple-files.md

似乎應該刪除module.exports =

'use strict';

var gulp = require('gulp'),
  runSequence = require('run-sequence');

gulp.task('default', function() {
  ...
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM