Почему при создании задачи с аргументами появляется сообщение «Задача отсутствует в вашем файле»? - PullRequest
0 голосов
/ 07 января 2019

Я создал простую задачу, которая принимает аргумент:

gulp.task("js", () => {
    let stream = gulp
        .src("./src/**/*.js", { base: "./src/" })
        .pipe($.plumber())
        .pipe($.changed("temp"))
        .pipe(babel());

    // minify is min arguement provided
    if (args.min == true) stream = stream.pipe($.uglify());

    // Update paths
    stream
        .pipe(
            $.preprocess({
                context: {
                    PATH: save.dest,
                    COMMIT: pkg.version
                }
            })
        )
        .pipe(gulp.dest("temp"));

    return stream;
});

Я хочу минимизировать в зависимости от того, нажимаю я на QA или PROD:

gulp.task("push-dev", ["js"], function() {})

gulp.task("push-prod", ["js --min"], function() {})

Но я получаю ошибку:

[11:51:32] Задача 'js --min' отсутствует в вашем файле gulffile

Возможно ли то, что я пытаюсь? Я пытаюсь избежать создания совершенно новой задачи, просто чтобы справиться с минификацией в разных средах.

1 Ответ

0 голосов
/ 07 января 2019

Определите вашу функцию отдельно от вашей задачи, а не прямо в вашем gulp.task.

let jsFunc = (doMininfy) => {
  let stream = gulp
    .src("./src/**/*.js", { base: "./src/" })
    .pipe($.plumber())
    .pipe($.changed("temp"))
    .pipe(babel());

  // assuming you meant the parameter to go here?
  if (doMininfy) stream = stream.pipe($.uglify());

  // Update paths
  stream
    .pipe(
        $.preprocess({
            context: {
                PATH: save.dest,
                COMMIT: pkg.version
            }
        })
    )
    .pipe(gulp.dest("temp"));

  return stream;
});

gulp.task("js", () => jsFunc());
gulp.task("js-min", () => jsFunc(true));
gulp.task("push-dev", ["js"], function() {});
gulp.task("push-prod", ["js-min"], function() {});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...