从 main-bower-files 中排除一个文件夹

Exclude a folder from main-bower-files

如何从 main-bower-files 中过滤掉整个文件夹?

例如,如果我这样做 mainBowerFiles('**/jquery-validation/**'),它 returns 只有 jquery-validation 文件夹中的文件,但我需要相反的文件。

我试过 mainBowerFiles('!**/jquery-validation/**'),但是 ! 符号似乎在这种情况下不起作用。我的模式有什么问题?

我使用 filter 函数解决了这个问题:

var ignoreJs = ['jquery-validation', ...];

// filter function
function mainBowerFilesFilter(filePath) {
    for (var i = 0; i < ignoreJs.length; i++) {
        if (filePath.indexOf(ignoreJs[i]) !== -1)
            return false;
    }
    return true;
}

// how to use
mainBowerFiles({ filter: mainBowerFilesFilter })

可以通过将 overrides: PACKAGE_NAME 添加到 bower.json

来忽略 mainBowerFiles 获取的 Bower 包
{
    "name": "My Project",
    "description": "",
    ...
    ...
    ...
    "dependencies": {
        ...
        ...
        ...
    },
    "overrides": {
        "PACKAGE_NAME": {
            "ignore": true
        }
    }
}

https://github.com/ck86/main-bower-files#ignore