gpt4 book ai didi

javascript - 使用前未定义的前向引用任务

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:21 26 4
gpt4 key购买 nike

我在 gulp@4 中使用多个文件,其中主 gulpfile.js 包含 ./tasks/ 目录中的所有其他文件。我们正在使用npm gulp-hub包以包含多个 gulpfiles./tasks/ 目录。但是,我们在调用tasks时收到以下错误消息。

Forward referenced tasks 'clean-minify-js` not defined before use

我们如何在主 gulpfile.js 中包含多个 gulpfiles 以便我们可以调用任务

当前gulpfile.js:

'use strict';

var gulp = require('gulp'),
HubRegistry = require('gulp-hub');

var genericHub = new HubRegistry('./tasks/scripts.js');
gulp.registry(genericHub);

var watchers = function(done) {
gulp.watch('src/*.js', gulp.parallel('clean-minify-js'));
done();
}

gulp.task('watch', gulp.series(watchers));

当前./tasks/scripts.js

'use strict';

var gulp = require('gulp'),
clean = require('gulp-clean'),
uglify = require('gulp-uglify');

gulp.task('clean-scripts', function() {
return gulp.src(dest.js)
.pipe(clean({read:false, force: true});
});

gulp.task('minify-js', gulp.series('clean-scripts', function() {
gulp.src(src.js)
.pipe(uglify())
.pipe(gulp.dest(dest.js));
}));

gulp.task('clean-minify-js', gulp.series('minify-js'));

文件夹结构:

  • some/path/gulpfile.js
  • 一些/path/tasks/scripts.js

最佳答案

要解决该问题,我必须执行以下操作。

  • 使用require-dir打包以包含 ./tasks/ 目录中的所有文件。
  • 将专为 gulp@3.9.1 设计的任务转换为 gulp@4 的函数
  • 使用gulp.series设置函数以我们需要的特定顺序运行

gulpfile.js

'use strict';

var gulp = require('gulp'),
requireDir = require('require-dir');
requireDir('./tasks/');

var watchers = function(done) {
gulp.watch('src/*.js', gulp.parallel('clean-minify-js'));
done();
}

gulp.task('watch', gulp.series(watchers));

./tasks/scripts.js

'use strict';

var gulp = require('gulp'),
clean = require('gulp-clean'),
uglify = require('gulp-uglify');

function cleanScripts() {
return gulp.src(dest.js)
.pipe(clean({read:false, force: true});
}

function minJs() {
return gulp.src(src.js)
.pipe(uglify())
.pipe(gulp.dest(dest.js));
}

gulp.task('clean-minify-js', gulp.series(cleanScripts, minJs));

关于javascript - 使用前未定义的前向引用任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55033904/

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