2016-04-04 6 views
1

Ich habe eine Ordnerstruktur, in der ich alle meine Assets ähnlich halte.Wie man den Zielordner dynamisch angibt, um zu schlucken

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

-page2 
page2.html 
stylesheets 
    page2 
    page1style.css 

Ich weiß, dass diese Ordnerstruktur ist nicht die beste, aber ich wählen, um es auf diese Weise, bevor ich vorhergesagt Probleme haben könnte. In meinen .html Dateien referenziere ich ein Stylesheet wie zB /stylesheets/name-of-page/foo.css. Jetzt habe ich Probleme beim Schreiben eines Gulp-Skripts, da alle Minified-Dateien im angegebenen Zielordner abgelegt werden, aber die folgende Struktur haben.

-build 
-page1 
    -stylesheets 
    -page1.css 

wenn ich möchte

-build 
-page1 
    -page.css 

TL haben

so etwas wie dieses, DR oder wenn meine Frage Logik verschlüsselt ist: Ich möchte den src Pfad der Datei zur Laufzeit sehen und dann Führe eine String-Manipulation durch, um das Ziel zu berechnen.

Antwort

1

Was Sie suchen ist gulp-rename:

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 
     } 
    })); 
}); 

Ich schlage vor, Sie auch den Blick in path Modul anstelle direkter String-Manipulation die Pfade der Dateien anzupassen.

+0

Dies hat es dank. –

Verwandte Themen