Gulp elixir.queueTask未定义
我对Laravel5.2和Elixir/gulp还比较陌生,但是当我从命令行运行gulp时,queueTask没有定义 我想做的是扩展elixir以删除一些文件(根据我能找到的所有文档,这就是我需要做的),因此我有以下几点:Gulp elixir.queueTask未定义,gulp,laravel-elixir,Gulp,Laravel Elixir,我对Laravel5.2和Elixir/gulp还比较陌生,但是当我从命令行运行gulp时,queueTask没有定义 我想做的是扩展elixir以删除一些文件(根据我能找到的所有文档,这就是我需要做的),因此我有以下几点: var gulp = require('gulp'); var elixir = require("laravel-elixir"); var del = require('del'); elixir.extend("remove", function(path) {
var gulp = require('gulp');
var elixir = require("laravel-elixir");
var del = require('del');
elixir.extend("remove", function(path) {
gulp.task("removeFiles", function() {
return del(path);
});
return this.queueTask("removeFiles");
});
在我的混音中,我有:
.remove([
"path/to/file1/filename1",
"path/to/file2/filename2"
])
在命令行中运行gulp时,我得到:
return this.queueTask("removeFiles");
^
TypeError: undefined is not a function
谁能解释一下我做错了什么吗?API在年被修改了
您不再需要调用Gulp.task()
。Elixir将处理这个问题,相反,您必须创建一个新任务
var Elixir = require('laravel-elixir');
var del = require('del');
Elixir.Task.extend('remove', function (path) {
new Task('remove', function () {
return del(path);
});
});
自从Elixir v3.0.0以来,API再次发生了变化。因此,对于v4.0.0,您必须执行以下操作:
var elixir = require('laravel-elixir');
var del = require('del');
var Task = elixir.Task;
elixir.extend('remove', function (path) {
new Task('remove', function () {
return del(path);
});
});
然后,您可以在管道中这样调用它:
mix.remove([
"path/to/file1/filename1",
"path/to/file2/filename2"
]);
区别似乎在于调用
elixir.extend
而不是elixir.Task.extend
。然后返回一个新的elixir.Task
谢谢你的var Task=elixir.Task;这节省了我的时间:)顺便说一句,我们可以使用新的elixir.Task('taskname',function(){……。});也