我正在尝试将run-sequence添加到我的gulp工作流程中但每次我尝试执行我使用run-sequence的任务时都会出现此错误:
任务未配置为gulp上的任务.
根据运行顺序的来源,这是由此测试引起的:
if (isTask && !gulp.hasTask(t)) {
throw new Error("Task "+t+" is not configured as a task on gulp.");
}
Run Code Online (Sandbox Code Playgroud)
我的任务被分成多个文件,如果我执行单个任务或具有依赖性的任务,一切正常,我唯一的错误就是这个:
'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']
);
}
});
Run Code Online (Sandbox Code Playgroud)
测试不应该失败,因为当我尝试在runSequence函数之前添加这段代码时,对于我尝试在函数中执行的每个任务,它输出为true:
console.log(gulp.hasTask('clean'); // Output true
runSequence(
'clean',
['index', 'styles', 'images', 'fonts', 'templates'],
['watchify', 'watch']
);
Run Code Online (Sandbox Code Playgroud)
但我仍然有错误:任务清理未配置为gulp上的任务. 如果我从数组中删除'clean',它将在下一个任务中失败:任务索引未配置为gulp上的任务.
如果有人知道这里发生了什么......
谢谢您的帮助.
Bor*_*rić 15
您是run-sequence全球安装还是本地安装?
尝试在本地安装,这解决了我的问题!
npm install run-sequence
Run Code Online (Sandbox Code Playgroud)
我有同样的问题,而我的解决方案是在Jacob Thomason提到的我的要求声明中这样做.
var runSequence = require('run-sequence').use(gulp);
Run Code Online (Sandbox Code Playgroud)
如果您需要拆分为多个文件,请使用此配方。 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() {
...
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21826 次 |
| 最近记录: |