Javascript 使用前未定义转发引用任务
我正在使用多个带有Javascript 使用前未定义转发引用任务,javascript,node.js,npm,gulp,Javascript,Node.js,Npm,Gulp,我正在使用多个带有gulp@4其中主gulpfile.js包含/tasks/目录中的所有其他文件。我们使用该包将多个gulpfiles包含在/tasks/目录中。但是,调用任务时,我们会收到以下错误消息 使用前未定义前向引用任务“clean minify js” 我们如何在主gulpfile.js中包含多个gulpfile,以便调用任务? 当前gulpfile.js: “严格使用”; var gulp=需要('gulp'), HubRegistry=require('gulp-hub'); v
gulp@4
其中主gulpfile.js
包含/tasks/
目录中的所有其他文件。我们使用该包将多个gulpfiles
包含在/tasks/
目录中。但是,调用任务时,我们会收到以下错误消息
使用前未定义前向引用任务“clean minify js”
我们如何在主gulpfile.js
中包含多个gulpfile
,以便调用任务
?
当前gulpfile.js
:
“严格使用”;
var gulp=需要('gulp'),
HubRegistry=require('gulp-hub');
var genericHub=newhubRegistry('./tasks/scripts.js');
政府注册处(总务室);
var观察者=功能(完成){
gulp.watch('src/*.js',gulp.parallel('clean-minify-js'));
完成();
}
吞咽任务('watch',吞咽系列(watchers))代码>要解决此问题,我必须执行以下操作
- 使用该包可以包含
/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));
'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));
/tasks/scripts.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));
'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));