这里是情景。
让我们说我是一个内部有不同子应用程序的主应用程序(或symfony世界中的捆绑包)。每个应用程序都有自己的脚本和样式,独立于另一个。这些子应用程序应该尽可能少地耦合,因为它们可以随时更新或者可以随时删除。
应用-DIR
subapps
dist(目标
每个gulpfile应该是自我关注的,因为它们可以有不同的构建要求(更少或简单,缩小或不缩小,....)
我正在尝试实现一个sceanrio,其中主gulpfile使用目标目录调用所有subapp gulpfiles。每个sub-gulpfile生成它的文件并将其复制到目标目录。
你能告诉我一个很好的方法吗?
我找到了突变(https://www.npmjs.com/package/gulp-chug)但是当我一起读书时,我发现这是一个不正确的讨论。
我无法找到满足我黑盒子方法的要求。
THX
答案 0 :(得分:1)
你可以尝试这样的事情,或者至少会指出你正确的方向:
require('./gulp');
require('./app1/gulp');
require('./app2/gulp');
var fs = require('fs');
var path = require('path');
var onlyScripts = function(name) {
return /(\.(js)$)/i.test(path.extname(name));
};
var tasks = fs.readdirSync('./gulp/tasks/').filter(onlyScripts);
tasks.forEach(function(task) {
require('./tasks/' + task);
});
var gulp = require('gulp');
var sass = require('gulp-sass');
var browserSync = require('browser-sync');
var autoprefixer = require('gulp-autoprefixer');
gulp.task('styles', function () {
return gulp.src([src-of-this-app])
.pipe(sass({
sourceComments: 'map',
sourceMap: 'sass',
outputStyle: 'nested'
}))
.pipe(autoprefixer("last 2 versions", "> 1%", "ie 8"))
.pipe(gulp.dest([dest-of-this-app]))
.pipe(gulpif(browserSync.active, browserSync.reload({ stream: true })));
});