elixir.queueTask не определен
Я довольно новичок в Laravel 5.2 и Elixir/gulp, но у меня есть проблема с неопределенностью queueTask, когда я запускаю gulp из командной строки.
То, что я хочу сделать, это расширить elixir для удаления некоторых файлов (согласно всей документации, которую я могу найти, это то, что мне нужно сделать), поэтому у меня есть это:
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
Может кто-нибудь пролить свет на то, что я делаю неправильно, пожалуйста?
2 ответа
API снова изменился с Elixir v3.0.0. Так что для 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
, А потом возвращая new elixir.Task
,
API был изменен в Elixir v3.0.0.
Вам больше не нужно звонить Gulp.task()
, Эликсир справится с этим, вместо этого вы должны создать новую задачу.
var Elixir = require('laravel-elixir');
var del = require('del');
Elixir.Task.extend('remove', function (path) {
new Task('remove', function () {
return del(path);
});
});