grunt.file.expand 用于抓取 .gitkeep 文件的 glob

grunt.file.expand glob for grabbing .gitkeep file

我正在使用 grunt.file.expand 抓取文件夹的内容,并且在链接的 forEach 中,任何带有 .gitkeep、.gitattribute 等的文件都不会在 **/* 通配模式中被抓取。您如何使用 grunt 以通配模式获取这些类型的命名文件?在 /commands 中抛出错误,它只是包含 .gitkeep 文件的文件夹之一(也只是文件夹中的文件)。

"Unable to read bower\components\project\app\commands file"

代码片段:

// Return unique array of all file paths, which match globbing pattern
var options = {
    cwd: srcPath
};

var globPatterns = ['app/**/*', 
                    'bootstrap/**/*', 
                    'public/**/*']

grunt.file.expand( options, globPatterns ).forEach( function ( srcPathRelCwd ) {

    // Copy a source file to a destination path, creating directories if necessary
    grunt.file.copy(

        // Node API join to keep this cross-platform
        path.join( srcPath, srcPathRelCwd ),
        path.join( destPath, srcPathRelCwd )
    );
} );

更新:

在选项中添加了过滤器,这使我跳过了错误,但是有些文件夹没有创建其中的文件,例如 /app/commands 中包含 .gitkeep 文件。

// Return unique array of all file paths, which match globbing pattern
var options = {
    cwd: srcPath,
    filter: 'isFile'
};

呃,一直在我面前,这就像在装满番茄酱的冰箱里寻找番茄酱,该死的这些男人的眼睛。希望我老婆看不到这个...

// Return unique array of all file paths, which match globbing pattern
var options = {
    cwd: srcPath,
    filter: 'isFile',
    dot: true // include .files even if not in globbing pattern
};