如何在Gulp中只提供文件(没有文件夹)?

时间:2016-08-26 19:44:11

标签: javascript gulp glob

在我的gulpfile中,我将一些文件注入到appcache清单中,如下所示:

var cachedFiles = gulp.src('**', {read: false, cwd: 'build'});

gulp.src('src/*.appcache', {base: 'src'})
.pipe($.inject(cachedFiles, {
    addRootSlash: false,
    starttag: '# inject',
    endtag: '# endInject',
    transform: function(path) {
        return path;
    }
}))
.pipe(gulp.dest(deployPath));

它或多或少都有效,但也会注入文件夹:

# inject
index.html
app  # <-- I don't want this
app/20_main.js
app/filters.js
view  # <-- I don't want this
view/style.css

如何忽略文件夹本身,但仍包含文件?谷歌搜索导致很多关于排除包含内容的文件夹的问题。

1 个答案:

答案 0 :(得分:0)

传递给gulp.src的选项对象传递给node-glob,后者支持nodir option

  
      
  • nodir不匹配目录,只匹配文件。 (注意:要匹配目录,只需在模式的末尾添加/。)
  •   

因此,要排除文件夹,您可以执行此操作:

var cachedFiles = gulp.src('**', {read: false, cwd: 'build', nodir: true});