Javascript 一口任务文件pr主题

Javascript 一口任务文件pr主题,javascript,gulp,gulp-watch,Javascript,Gulp,Gulp Watch,想知道实现这一目标的最佳方式是什么 我的web应用程序中有多个主题,比如: /themes/theme_one/ /themes/theme_two/ … etc. 我不想写一个大的文件来处理所有这些。相反,我希望能够编写gulptheme\u one,并自动运行与该主题相关的所有gulp任务 我已经意识到我真正做的是为gulp创建一个快捷方式--gulpfile themes/theme_one/gulpfile.js 我在想一个根Gulpfile.js是这样的: var gulp =

想知道实现这一目标的最佳方式是什么

我的web应用程序中有多个主题,比如:

/themes/theme_one/
/themes/theme_two/
… etc.
我不想写一个大的文件来处理所有这些。相反,我希望能够编写
gulptheme\u one
,并自动运行与该主题相关的所有gulp任务

我已经意识到我真正做的是为
gulp创建一个快捷方式--gulpfile themes/theme_one/gulpfile.js

我在想一个根Gulpfile.js是这样的:

var gulp   = require('gulp');
var themes = ['theme_one', 'theme_two', 'theme_three'];

themes.forEach(function(theme){
    gulp.task(theme, function(){
        require(__dirname+'/themes/'+theme+'/gulp-tasks.js');
        gulp.run('default'); // all theme gulpfiles need a default task
    });
});

我看那个gulp.run是不受欢迎的。我应该如何重新构造它以避免使用gulp.run?

您不必使用gulp来运行各种gulp任务,您只需执行
cd主题/theme\u one/&&gulp
或编写一个程序即可,而无需使用gulp

var path = require('path');
var process = require('child_process');

var themeDir = process.args[0] || 'theme_one';
var directory = path.join(__dirname + '/themes/' + themeDir);

process.exec('cd ' + directory + ' && gulp', function(err, stdout, stderr) {
    if (err) {
        console.log(stderr);
        console.log('err');
    } else {
        console.log(stdout);
    }
});
因此,您可以使用
节点索引主题\u two

对每个主题使用一个“吞咽”任务来运行此任务 您可以编写gulpfile,并为您想要的每个进程使用一个任务

例如:

//安装程序需要。。。
吞咽任务('theme_1',函数(){
return gulp.src('/theme/1/*/**'))
.pipe(zip('theme_1.zip'))
.pipe(大口目的地('dist'));
});
吞咽任务('theme_2',函数(){
return gulp.src('/theme/2/*/**'))
.pipe(zip('theme_2.zip'))
.pipe(大口目的地('dist'));
});
吞咽任务('default'、['theme_1'、'theme_2']);
只需键入以下内容,即可运行主题任务:

gulp theme_1
// or
gulp theme_2
默认情况下,只需键入
gulp