[英]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.