javascript - Gulp glob 忽略文件类型而不复制空文件夹

标签 javascript node.js gulp glob

我为 gulp 创建了一个 glob,它忽略了一组目录中的 javascript 和 coffeescript 文件。我希望它将所有其他文件复制到一个工作正常的目录中。唯一的问题是,当只有 javascript 或 coffeescript 文件时,它会复制一个空文件夹。知道如何修改这个 glob 以不复制空文件夹吗?

gulp.task('copyfiles', function(){
    gulp.src('apps/*/static_src/**/!(*.js|*.coffee)')
        .pipe(gulp.dest('dest'));
});

示例源文件:

apps/appname/static_src/images/image.jpg
apps/appname/static_src/js/script.js

预期输出:

dest/static_src/images/image.jpg

当前输出:

dest/static_src/images/image.jpg
dest/static_src/js/

最佳答案

由于 gulp.src 接受 almost the same options as node-glob ,您可以添加 nodir: true 作为选项:

gulp.src('apps/*/static_src/**/!(*.js|*.coffee)', { nodir: true })

这将保留来自 src 的目录结构,但忽略空的。

关于javascript - Gulp glob 忽略文件类型而不复制空文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35654317/

相关文章:

javascript - 如何获取 Cloud Firestore 查询返回的数据?

javascript - 如何在视频进度指示栏上的html5视频播放器中添加标记?

javascript - ng-repeat 无法处理具有非连续数字索引的数组?

node.js - 使用 mongoose api 和 nodejs 搜索数据库?

node.js - NodeJS循环可以是异步的吗?

node.js - 如何在 TypeScript 中使用 gulp-load-plugins?

javascript - 为什么 getSelection() 总是什么都不返回?

javascript - 在 React Native 中登录凭据无效时如何显示警报消息?

javascript - NodeJS del 模块 Promise 需要明确的 Promise 函数吗?

node.js - 引用错误: sass is not defined