Искам да избера няколко файла и да генерирам свързани файлове от тях. И също искам да свържа моите променени файлове.
Това е дървото на моите активи:
assets
- css
- js
- sass
- _midia_queries.scss
- media-combine.scss
- query.scss
И така, искам да генерирам maximum.css(./assets/css/media-combine.min.css) и medium.css( ./assets/css/media-combine.min.css, ./assets/css/query.min.css).
И двата .min файла са генерирани от моята css задача. Виж отдолу:
gulp.task('css', function (done) {
gulp.src(paths.sass.src)
.pipe(plugins.changed('dist'))
.pipe(plugins.sass())
.pipe(plugins.combineMediaQueries())
.pipe(plugins.autoprefixer())
.pipe( isProduction ? plugins.minifyCss() : gutil.noop() )
.pipe( isProduction ? plugins.rename({ suffix: ".min" }) : gutil.noop() )
.pipe(gulp.dest(paths.css.dest))
.on("end", done);
});
И моята задача concat-css използва лошия ми подход на множество генерирани файлове:
gulp.task('concat-css', ['css'], function (done) {
concatType("css", done);
});
function concatType (type, done) {
if (isProduction) {
var task = gulp;
filesToConcat[type].forEach(function (value) {
value.files.forEach(function (file, fileIndex) {
value.files[fileIndex] = paths[type].dest + file;
});
gutil.log('File', gutil.colors.green(value.compiled), 'is beign concatenated');
task = gulp.src(value.files)
.pipe(plugins.concat(value.compiled))
.pipe(gulp.dest(paths[type].dest));
gutil.log('Ready to go!');
});
task.on("end", done);
}
}
Актуализация
Когато напиша gulp на моята конзола/терминал, той изпълнява перфектно моите css и concat-css задачи, но когато watch се задейства от промяна на файл, и двете се изпълняват, но само css работи. Моите .min файлове са актуализирани, но свързаните ми файлове не са.
Някакви идеи за подход към това? Благодаря.
gulp.task("default", ['concat-css', 'watch']);
иgulp.watch(paths.sass.src, ["concat-css"])
- person jonowzz   schedule 22.08.2015