如果我的Gruntfile中有一个文件数组,如下所示:
var jsFiles = [
'src/js/abc.js',
'src/js/def.js'
]
如何排除此数组中的每个文件而不必在每个文件前加!
?这种模式对我来说似乎不起作用:
!jsFiles
我也希望能够!<%= project.jsFiles %>
<%= project.jsFiles %>
是一个文件数组。
在Stack Overflow上有很多类似的问题,但是从我看到的内容中没有一个解决忽略文件数组的问题。
答案 0 :(得分:0)
取消文件数组:
如果您想要否定文件列表,请执行以下操作:
var jsFiles = [
'src/js/abc.js',
'src/js/def.js'
];
您可以创建一个函数来添加“!”:
function addErase(jsFiles){
var arr = [];
jsFiles.forEach(function(element){
arr.push("!" + element);
});
return arr;
}
然后你可以转换你的数组:
var jsFileErase = addErase(jsFiles);
// ['!src/js/abc.js',
// '!src/js/abc.js']
如果您想将列表放在package.json中:
的package.json:
{
"name": "foo",
"version": "0.0.1",
"jsFiles":[
'src/js/abc.js',
'src/js/def.js'
],
...
在Gruntfile.js中:
var project = require('./package.json');
var jsFiles = project.jsFiles;
然后你可以使用addErase函数
否定所有文件取消文件夹中的所有元素:
如果要取消文件夹中的所有元素,则需要输入“!”在路径之前和路径末尾的“/ ** / *”:
示例:
var jsFile = '!src/js/**/*'