sagen, dass ich eine LESS CSS Verzeichnisstruktur wie folgt aussehen:Datei umbenennen basierend auf regex in Gulp
less/
core/
_main.less
header.less
body.less
footer.less
contact/
_main.less
form.less
details.less
ich eine Gulp Aufgabe schreiben möchten, die für die _main.less
Dateien in jedem Unterverzeichnis des less/
dir aussehen wird, Geben sie diese schlucken weniger und die Ausgabe an die css/
dir so schreiben:
css/
core.css
contact.css
Da _main.less
die anderen Dateien enthält darin Verzeichnis ist, werden nur die _main.less
Dateien werden analysiert haben, aber ich will die Ausgabedatei den Namen des Verzeichnisses zu haben, es ist in
Bisher habe ich dies:.
gulp.src('less/*/*/_main.less')
.pipe(less())
.pipe(gulp.dest('css'));
Aber das wird eine Verzeichnisstruktur wie folgt erstellen:
css/
core/
_main.css
contact/
_main.css
Aber das ist nicht was ich möchte. Ich dachte daran, eine Regex zu verwenden, um den Verzeichnisnamen zu finden, in einem matches
var, und benennen Sie die Datei entsprechend um. Etwas wie dieses:
gulp.src(/less\/[^\/]+\/([^\/]+)\/_main.less/)
.pipe(less())
.pipe(rename(function(context) {
context.src.matches[1] + '.css'
}))
.pipe(gulp.dest('css'));
Dieser Code ist nur ein Beispiel. Ich kann nicht herausfinden, wie man so etwas macht oder ob es überhaupt möglich ist.
Ist das möglich? Wenn das so ist, wie?