{ let stream = gulp .src("./src/**/*.js", { base: -6ren">
gpt4 book ai didi

javascript - 为什么我在创建带参数的任务时得到 "Task is not in your gulpfile"?

转载 作者:行者123 更新时间:2023-11-30 19:55:06 25 4
gpt4 key购买 nike

我创建了一个带参数的简单任务:

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

// minify is min argument 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] Task 'js --min' is not in your gulpfile

我正在尝试的可能吗?我试图避免必须创建一个全新的任务来处理不同环境中的缩小。

最佳答案

将函数与任务分开定义,而不是直接在 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() {});

关于javascript - 为什么我在创建带参数的任务时得到 "Task is not in your gulpfile"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54080944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com