如何为匿名gulp(v4)任务分配名称

w1e3prcc  于 2022-12-08  发布在  Gulp
关注(0)|答案(1)|浏览(151)

我现在是第一次使用gulp,并遵循了gulp的建议,导出了我的gulp任务。
它正在运行,结果如预期。但是在我的控制台上,任务被列为。
如何为导出的吞咽任务指定名称?
我一直在尝试采用不同的方法,比如functionName.displayName =“Custom Name”;在导出模块之前,但没有任何效果。
样本大口文件。

const gulp = require('gulp');
const createHtml = require('./scripts/createHtml');
...

module.export = {
    default: gulp.series(createHtml())
}

创建Html模块

const gulp = require('gulp');
...

const createHtml = function () {
    return function () {
        return gulp
            .src('./src/pages/**/*.+(html)')
            ... 
            .pipe(gulp.dest('./build/')))
    };
}
createHtml.displayName = "Custom Name";

module.exports = createHtml;

吞吐量

[11:38:50] Using gulpfile ~/Documents/.../gulpfile.js
[11:38:50] Starting 'default'...
[11:38:50] Starting '<anonymous>'...
[11:38:50] Finished '<anonymous>' after 10 ms
[11:38:50] Starting '<anonymous>'...
[11:38:50] Starting '<anonymous>'...
[11:38:50] Finished '<anonymous>' after 24 ms
[11:38:50] Finished '<anonymous>' after 42 ms
...

我正在使用以下版本:

  • 吞咽v4.0.2
  • 节点v15.2.0
  • macOS 11.5.1操作系统
h7appiyu

h7appiyu1#

不需要从createHtml函数返回函数。您正在返回匿名函数,并且该匿名函数正在gulp.series()调用中执行,这就是为什么任务名称是匿名的。
您需要将命名函数传递给gulp.series
试试这个-

const gulp = require('gulp');
...

const createHtml = function () {
     return gulp.src('./src/pages/**/*.+(html)')
     ... 
    .pipe(gulp.dest('./build/')))
}

module.exports = createHtml;

然后在你的吞咽文件中

const gulp = require('gulp');
const createHtml = require('./scripts/createHtml');
...

module.export = {
    default: gulp.series(createHtml);// pass the function reference here
}

相关问题