多个gulp文件,并使用require从其他gulpfiles.js继承任务

Multiple gulp files and inheriting tasks from other gulpfiles.js using require

本文关键字:其他 gulpfiles js 任务 继承 require 文件 gulp 多个      更新时间:2023-09-26

我试图在我自己的gulpfile (gulpfile.js)中需要一个gulpfile (someGulpfile.js),从我运行gulp命令的地方。当我尝试使用someGulpfile中定义的任务时它会在控制台抛出一个错误,说Task 'default' is not in your gulpfile尽管我刚刚在gulpfile.js中执行了require('./someGulpfile');

如何使用在某些gulpfile中定义的任务?是什么导致了这个问题?

我发现这有点工作,但它不输出运行的每个任务(例如,它不输出,Starting sometask, Finished sometask, Starting default,…),如果有一个错误,它不显示错误和它发生的地方,但错误在gulp库代码中,它有麻烦格式化错误输出。

//gulpfile.js
var gulp = require('gulp');
gulp.tasks = require('./someGulpfile').tasks;
//someGulpfile.js
var gulp = require('gulp');
gulp.task('sometask', function() {});
gulp.task('default', ['sometask']);
module.exports = gulp;

可以试试这样做:

gulpfile.js

require("./gulp/tasks/build-js.js")();
require("./gulp/tasks/build-css.js")();

。/杯/任务/build-js.js

var gulp = require("gulp");
module.exports = function() {
    gulp.task("js", function() {
        return gulp.src("./app/**/*.js")
                   .pipe(); 
                   //etc.
    }
}

。/杯/任务/build-css.js

var gulp = require("gulp");
module.exports = function() {
    gulp.task("css", function() {
        return gulp.src("./app/style/*.css")
                   .pipe();
                   //etc.
    }
}