Mein Ziel ist es, die Binärdateien hier zu finden und sie in das erste Unterverzeichnis in exe
anzuordnen.Pfad von gulp.dest ändern
src
├── exe
│ └── nix
│ └── binary.out
│ └── blah
│ └── mac
│ └── binary.out
│ └── blah
│ └── win
│ └── src
│ └── trigger
│ └── trigger
│ └── trigger
│ └── binary.exe
│ └── Debug
Mein Ziel ist nur die binären Dateien in dist/exe
wie diese zu kopieren:
dist
├── exe
│ └── nix
│ └── binary.out
│ └── mac
│ └── binary.out
│ └── win
│ └── binary.exe
vereinfacht My (in Wirklichkeit ist es mehr Müll, mehr subdirs hat) diese Ordnerstruktur ist Dies ist der Code, den ich gerade benutze:
var path = require('path');
gulp.src(['src/exe/**/*.out', 'src/exe/**/*.exe'])
.pipe(gulp.dest(function(file) {
var os = file.path.match(/(?:win|mac|nix)/)[0];
return 'dist/exe/' + os + '/' + path.basename(file.path);
}));
Dies ist jedoch immer noch kopieren g die Struktur auch nach dem Namen des Betriebssystems. Es ist wie es die **/
Sachen nach meiner zurückgegebenen Zeichenfolge anfügt. Gibt es eine Möglichkeit, dies nicht zu tun?
Danke Sven für eine so große Antwort! Ich habe wirklich viel daraus gelernt und eine Lösung gefunden! gulp-rename macht den Trick! Sehr interessant, was ich auch gelernt habe, ist das '{exe, out}', danke! – Noitidart
Durch Zufall können Verzeichnisse verwerfen umbenennen? Gerade jetzt bekomme ich die Binärdatei im 1. Unterverzeichnis, aber ich bekomme auch leere Ordner daneben. – Noitidart
Nein, es kann Verzeichnisse nicht vollständig verwerfen, nur den Pfad ändern. Aber du solltest sowieso nicht mit leeren Verzeichnissen enden, zumindest dann nicht, wenn deine 'gulp.src()' nur die 'binary' Dateien auswählt. –