Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gulp和运行序列错误:任务未配置为Gulp上的任务_Gulp - Fatal编程技术网

Gulp和运行序列错误:任务未配置为Gulp上的任务

Gulp和运行序列错误:任务未配置为Gulp上的任务,gulp,Gulp,我正在尝试添加到gulp工作流中,但每次尝试执行使用运行序列的任务时都会出现以下错误: 任务未配置为吞咽任务。 根据运行顺序的来源,这是由以下原因造成的: 我的任务被拆分为多个文件,如果我执行单个任务或具有依赖性的任务,则一切正常,我唯一的错误是: 'use strict'; var gulp = require('gulp'), runSequence = require('run-sequence'); module.exports = gulp.task('default',

我正在尝试添加到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函数之前添加这段代码时,我尝试在函数中执行的每个任务的输出都是真的:

console.log(gulp.hasTask('clean'); // Output true
runSequence(
    'clean',
    ['index', 'styles', 'images', 'fonts', 'templates'],
    ['watchify', 'watch']
);
但我仍然有一个错误:任务清理未配置为gulp上的任务。 同样,如果我从阵列中删除“clean”,它将在下一个任务中失败:任务索引未配置为gulp上的任务。

如果有人知道这里发生了什么


谢谢您的帮助。

如果您需要拆分为多个文件,请使用此配方。

似乎应该删除
module.exports=

'use strict';

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

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

您的
运行序列是全局安装还是本地安装的

尝试在本地安装,这为我解决了问题

npm install run-sequence

问题在于,运行序列在使用依赖项构建自身时做得很糟糕。因为gulp是一个依赖项,所以它应该将它作为一个参数带入构造函数,您需要提供这个参数。不幸的是,按照它的写作方式,很难做到这一点。有一个.use()方法,您可以链接到模块的require()语句来定义gulp模块,但即使这样,这也是一厢情愿的想法,假设require语句的引导是在gulp模块可用的地方进行的

我刚把它重写了一遍。当前版本不是BC,因为API有点变化。您需要构造将其分配给变量的模块,并调用run()方法,传入当前文档中描述的任务和选项

你可以在这里查看


如果人们愿意,我可以更新自述,可能给它另一个不冲突的名字,并清理一些东西。我意识到重写可能比某些人更喜欢的偏离了,但依赖关系至少现在可以得到正确处理。

我也遇到了同样的问题,我的解决方案是在我的require语句中这样做,正如Jacob Thomason所提到的

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

你有没有想过?你好@AJcodez,不幸的是,没有。我已将run-sequence.js源代码复制到我的gulp/task文件夹中,它正在工作,但我无法将npm与node_模块一起使用来处理依赖关系:/以下是正在运行的
gulp^3.8.5
运行序列^0.3.6
。这对我来说不是一个点,也许试着重新安装?啊,你没有通过回调!给我回电话!我得到了同样的错误。可以使用>>npm安装--save dev直接安装相同的behavior.development依赖项
var runSequence = require('run-sequence').use(gulp);