2016-04-04 20 views
1

Tüm varlıklarımın buna benzer şekilde tuttuğum bir klasör yapısına sahibim.Hedef klasörü dinamik olarak belirtme

-page1 
-page1.html 
-stylesheets 
    -page1 
    -page1style.css 

-page2 
page2.html 
stylesheets 
    page2 
    page1style.css 

Bu en iyi klasör yapısı olmadığını fark ama bu şekilde ben tahmin sorunlar edemeden seçin. .html dosyamda, /stylesheets/name-of-page/foo.css gibi bir stil sayfasına başvuruyorum. Şimdi, tüm küçültülmüş dosyalar belirtilen hedef klasöre yerleştirildiğinden ancak aşağıdaki yapıya sahip olduğundan, bir gulp betiği yazmakta sorun yaşıyorum.

-build 
-page1 
    -stylesheets 
    -page1.css 

Bu

-build 
-page1 
    -page.css 

TL gibi bir şey istiyorum ne DR ya benim sorum mantık şifreli ise: Ben zamanında ve daha sonra dosyanın src yolunu görmek istiyorum hedefini hesaplamak için bazı dize manipülasyon gerçekleştirin.

cevap

1

Ne aradığınız gulp-rename geçerli:

var gulp = require('gulp'); 
var rename = require('gulp-rename'); 

gulp.task('default', function() { 
    gulp.src('src/**/*') 
    .pipe(rename(function(file) { 
     if (file.extname === '.css') { 
     file.dirname = //change directory to something else 
     file.basename = //change file name (without extension) to something else 
     } 
    })); 
}); 

Ben de path modülünün yerine dosyalarınızın yollarını ayarlamak için doğrudan dize manipülasyon içine bakmak öneririz.

+0

Bu başardı. –