Ich habe versucht, eine gulpfile.js für mein persönliches Website-Projekt zu erstellen. Ich habe das vorher noch nie gemacht, aber mit ein wenig 'Versuch und Irrtum' funktioniert es jetzt auf eine annehmbare Weise.Gulp kopiert nicht alle Dateien wie erwartet
Das einzige, was auch nach 1000 Änderungen nicht funktioniert, ist das einfache Kopieren von Dateien und Ordnern.
var files = {
data_src : [
'./files.json',
'data/**/*.*'
],
distribution_dest : '_distribution'
};
gulp.task('copy-data', function() {
gulp.src(files.data_src, { base: './' })
.pipe(gulp.dest(files.distribution_dest))
.pipe(notify({message: 'Data copied for distribution!'}));
});
Dies sollte alle Unterordner und Dateien auf die gulp.dest
kopieren. Aber es kopiert nur die Hälfte von ihnen, einige Ordner werden ignoriert, auch wenn ich ihre Namen ändere usw. (keine Sonderzeichen, dieselbe Unterordnerstruktur wie die, die richtig kopiert wurde ...) - nichts hat funktioniert. Ich kann einfach kein Muster darin sehen.
Beim Ausführen von gulp wird keine Fehlermeldung angezeigt. Nichts, das mir helfen würde, den Fehler zu finden.
Warum werden einige Ordner oder Dateien vom Kopieren ausgeschlossen?
Ich benutze base
den Ordner/Unterordnerstruktur zu halten; versucht mit und ohne 'base' -> keine Auswirkungen auf den Kopiervorgang.
Ich habe auch die Position der 'copy-data' Task in der Run-Liste geändert. Eigentlich ist es die erste Aufgabe, die ausgeführt wird. Es scheint keine Veränderung im Verhalten zu geben, egal ob es die erste oder die letzte ist.
gulp.task('default', function() {
gulp.run('copy-data', 'custom-sass', 'framework-sass', 'custom-js', 'framework-js', 'replace-tags', 'browser-sync');
... some watches ...
});
Die Struktur des Datenordners sieht aus wie diese:
./data
|-doc
|---content
|---template
|-img
|---chart
|---icon
|---logo
|---pattern
|---people
|---photo
|---symbol
|-----brandklassen
|-----brandschutzzeichen
|-----gebotszeichen
|-----gefahrensymbole
|-----rettungszeichen
|-----verbotszeichen
|-----verkehrsrechtzeichen
|-----warnzeichen
|---wallpaper
/data/doc
und alle Unterordner sind ok.
/data/img/chart
bis /data/img/people
sind auch ok. Innerhalb der /data/img/photo
werden nur 14 von 21 Bildern kopiert.
/data/img/symbol
mit Unterordnern und /data/img/wallpaper
wurden vollständig ignoriert.
Wenn 'base' die Wurzel ist, sollten Sie diese Option nicht benötigen. Es kann sein, dass eines Ihrer Auswahlmuster falsch ist. Können Sie uns eine Vorstellung von der Ordnerstruktur geben? –
Führen Sie vor dem Task 'copy-data' noch andere Aufgaben aus? – Heikki
Das gleiche Problem wurde festgestellt. Das hat geholfen, danke. – timetowonder