簡體   English   中英

Gulp不會按預期復制所有文件

[英]Gulp doesn't copy all files as expected

我試圖為我的個人網站項目創建一個gulpfile.js。 我之前從未這樣做過,但有一點'試錯'現在它以可接受的方式運作。

即使經過1000次修改,唯一不起作用的是簡單復制文件和文件夾。

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

這應該將所有子文件夾和文件復制到gulp.dest 但它只復制了其中的一半,即使我更改了名稱等,也會忽略一些文件夾。(沒有特殊字符,與正確復制的一次相同的子文件夾結構......) - 沒有任何效果。 我只是看不到任何模式。

運行gulp時沒有錯誤消息。 沒有什么可以幫助我找到錯誤。

為什么某些文件夾或文件被排除在復制之外?


我用base來保存文件夾/子文件夾結構; 嘗試使用和不使用“base” - >對復制過程沒有影響。

我還改變了運行列表中“復制數據”任務的位置。 實際上這是第一個運行的任務。 無論是第一個還是最后一個,行為似乎都沒有變化。

gulp.task('default', function() {
  gulp.run('copy-data', 'custom-sass', 'framework-sass', 'custom-js', 'framework-js', 'replace-tags', 'browser-sync');
    ... some watches ...
});

數據文件夾的結構如下所示:

./data
   |-doc
   |---content
   |---template
   |-img
   |---chart
   |---icon
   |---logo
   |---pattern
   |---people
   |---photo
   |---symbol
   |-----brandklassen
   |-----brandschutzzeichen
   |-----gebotszeichen
   |-----gefahrensymbole
   |-----rettungszeichen
   |-----verbotszeichen
   |-----verkehrsrechtzeichen
   |-----warnzeichen
   |---wallpaper

/data/doc和所有子文件夾都可以。
/data/img/chart/data/img/people也行。

/data/img/photo只復制了21張圖片中的14張。
帶有子文件夾和/data/img/wallpaper /data/img/symbol被完全忽略。

解決了我自己! 該問題是由異步操作任務引起的。 在繼續之前添加return強制gulp以完成復制過程!

gulp.task('copy-data', function() {
    return gulp.src(files.data_src, { base: './' })
    .pipe(gulp.dest(files.distribution_dest))
    .pipe(notify({message: 'Data copied for distribution!'}))
});

現在所有圖像都將被復制!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM