如何忽略 gulp 中的特定凉亭 javascript 库(可能是正则表达式问题)?
How to ignore specific bower javascript library in gulp (regex issue maybe)?
我正在使用 "main-bower-files" gulp 插件。有一个很大的 bower 库...我想在我的名为 "fatjslib.js" 的列表中忽略它。我当前的正则表达式过滤器如下:
var listOfBower = mainBowerFiles({filter: (/.*\.js$/i)});
这会得到 "fatjslib.js",当我打印出上面的变量时,我看到:
"\User\kmichaels\storage\app\bower_components\fatjslib\FatJsLib\FatJsLib.js"
我如何指定过滤器或更改正则表达式,或者做一些让 "listOfBower" 可以忽略 "FatJsLib.js" 文件的事情?如果可能的话,我不想指定整个路径,如果有一种方法可以通配符忽略任何东西,而不管带有 "FatJsLib" 的路径结构,那可能是最好的,但我愿意接受建议。将 "AnotherBigLib.js" (在某些路径结构下应该有第二个库)添加到正则表达式或忽略列表的解决方案是否灵活?
"main-bower-files" 插件停止读取特定 Bower 库的一种方法是在 bower.json
中传递 overrides option in the param or to set the overrides 属性
方法 1:传递覆盖参数:
将 overrides
选项传递给 mainBowerFiles()
并将 ignore
属性 设置为 true
用于您希望忽略的库。
var listOfBower = mainBowerFiles({"overrides":{"fatjslib":{"ignore":true}}});
方法 2:在 bower.json
中指定覆盖 属性
您还可以指定 overrides property in bower.json
and then there will be no need to pass overrides option as a param. When main-bower-files
plugin will read the bower.json file, it will ignore 在覆盖 属性 中将忽略标志设置为 true 的库。
在 bower.json 添加一个 overrides
属性:
"overrides": {
"fatjslib": {
"ignore": true
}
}
如果 fatjslib
包含多个 js 文件,而您只想忽略一个而包含另一个,那么您可以覆盖包的主要部分。
每个包都有自己的 bower.json,其中有一个主要部分。此部分包含要注入的文件。
你可以做的是,在覆盖中 - 覆盖主要部分只是为了保留你想要注入的文件
"overrides": {
"fatjslib": {
"main": ["./dist/another-file.js"]
}
}
然后将这些覆盖提供给 mainBowerFiles
如何修改正则表达式如下:
/^(?!.*FatJsLib\.js$).*\.js$/i
并添加更多库:
/^(?!.*(?:FatJsLib|AnotherBigLib)\.js$).*\.js$/i
此外,如果您想过滤路径中带有 FatJsLib 的任何内容,请尝试使用:
/^(?!.*\(?:FatJsLib|AnotherBigLib)\.*$).*\.js$/i
来源:我写了正则表达式,你可以试试here. Also the main-bower-files documentation states that filter can use any regex。
我正在使用 "main-bower-files" gulp 插件。有一个很大的 bower 库...我想在我的名为 "fatjslib.js" 的列表中忽略它。我当前的正则表达式过滤器如下:
var listOfBower = mainBowerFiles({filter: (/.*\.js$/i)});
这会得到 "fatjslib.js",当我打印出上面的变量时,我看到:
"\User\kmichaels\storage\app\bower_components\fatjslib\FatJsLib\FatJsLib.js"
我如何指定过滤器或更改正则表达式,或者做一些让 "listOfBower" 可以忽略 "FatJsLib.js" 文件的事情?如果可能的话,我不想指定整个路径,如果有一种方法可以通配符忽略任何东西,而不管带有 "FatJsLib" 的路径结构,那可能是最好的,但我愿意接受建议。将 "AnotherBigLib.js" (在某些路径结构下应该有第二个库)添加到正则表达式或忽略列表的解决方案是否灵活?
"main-bower-files" 插件停止读取特定 Bower 库的一种方法是在 bower.json
方法 1:传递覆盖参数:
将 overrides
选项传递给 mainBowerFiles()
并将 ignore
属性 设置为 true
用于您希望忽略的库。
var listOfBower = mainBowerFiles({"overrides":{"fatjslib":{"ignore":true}}});
方法 2:在 bower.json
中指定覆盖 属性您还可以指定 overrides property in bower.json
and then there will be no need to pass overrides option as a param. When main-bower-files
plugin will read the bower.json file, it will ignore 在覆盖 属性 中将忽略标志设置为 true 的库。
在 bower.json 添加一个 overrides
属性:
"overrides": {
"fatjslib": {
"ignore": true
}
}
如果 fatjslib
包含多个 js 文件,而您只想忽略一个而包含另一个,那么您可以覆盖包的主要部分。
每个包都有自己的 bower.json,其中有一个主要部分。此部分包含要注入的文件。
你可以做的是,在覆盖中 - 覆盖主要部分只是为了保留你想要注入的文件
"overrides": {
"fatjslib": {
"main": ["./dist/another-file.js"]
}
}
然后将这些覆盖提供给 mainBowerFiles
如何修改正则表达式如下:
/^(?!.*FatJsLib\.js$).*\.js$/i
并添加更多库:
/^(?!.*(?:FatJsLib|AnotherBigLib)\.js$).*\.js$/i
此外,如果您想过滤路径中带有 FatJsLib 的任何内容,请尝试使用:
/^(?!.*\(?:FatJsLib|AnotherBigLib)\.*$).*\.js$/i
来源:我写了正则表达式,你可以试试here. Also the main-bower-files documentation states that filter can use any regex。