Birleştirilmiş JS dosyaları oluşturan bir yontma görevi var. Projedeki tüm dosyaların değişikliklerini algılamak için bir saat kullanıyorum ve kaynak dosyalarının son yürütme işleminden bu yana değişmesi durumunda, concat görevinin dosyaları yeniden birleştirmesini isterim.Yalnızca kaynak dosya (lar) değiştiyse, yalnızca görev atlatmak için GTP görev boru hattı
not: Daha belirgin izle komutlarını kullanabilirsiniz, ama benim gerçek üretim durumda biz çok daha karmaşık böylece bunların her biri için saatler ve görevleri oluştururken,
kaynak JS dosyaları çoklu kombinasyonlar birden fazla concatenanted JS dosyalarına edilir ürettiğini böyleşey:
gulp.task('scripts', function() {
return gulp.src('src/**/*.js')
.pipe(cache('scripts'))
// If no changed files in pipeline, exit pipeline,
// else add in all src files again
.pipe(concat('app.js'))
.pipe(gulp.dest('build/'));
});
Ben sadece concat çalıştırın ve dosya varsa dest böylece son iki adım için bir lazypipe kullanma hakkında düşündüm, ama bilmiyorum nasıl:
- deposunun bulunması sonrasında (hala boru hattının kalan herhangi dosyalar olup olmadığını dayalı bir koşul Run()
- tüm kaynak dosyaları geri getirin (temelde
İkinci bölüm için gulp-hatırlamayı kullanabileceğimi biliyorum, ancak üretim durumumda, eğer mümkünse akışı yeniden oluşturmak çok daha temiz olacaktır.
Bunu daha önce kim yaptıysa veya nereden başlayacağınıza dair ipuçlarınız var mı?
[gulp-changed] 'a bakabilirsiniz (https://www.npmjs.org/package/gulp-changed/)? –
@JoshClayton Ben gulp-değiştirilen check-out yaptım ve bu konuyla ilgili olarak gulp-cached ile aynı davranacak gibi görünüyor. (yani, aslında aslında işlenmesi gereken akıştaki giriş dosyalarından geçebilir). Tüm src dosyalarını yeniden çıkarıp tekrar eklemeyle ilgili sorunu çözeceğini görmüyorum. – Allen