gpt4 book ai didi

javascript - Gulp 没有按预期复制所有文件

转载 作者:行者123 更新时间:2023-12-03 02:06:38 25 4
gpt4 key购买 nike

我尝试为我的个人网站项目创建一个 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/symbol/data/img/wallpaper 被完全忽略。

最佳答案

我自己解决了!问题是由异步操作任务引起的。添加 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!'}))
});

现在所有图像都将被复制!

关于javascript - Gulp 没有按预期复制所有文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26451634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com