目标
检查两个文件夹(src和目标文件夹)中是否存在具有相同名称的文件
尝试
尝试使用grunt-contrib-copy
遍历路径,但显然这不起作用。
copy: {
unit: {
expand: true,
cwd: 'src',
src: '**',
dest: 'specs/unit',
filter: function(filepath){
if(grunt.file.exists(filepath)){
return grunt.file.write(filepath,'');
}
}
}
},
我的理论
grunt.file.exists
似乎指向src文件夹而不是目标文件夹。因此它永远不会检查src文件夹中的文件是否实际存在于目标文件夹中,它只检查src文件夹中是否有任何文件。
答案 0 :(得分:2)
您始终可以使用fs.existsSync()
:http://nodejs.org/api/fs.html#fs_fs_exists_path_callback。一定要使用同步功能,Grunt不喜欢异步功能。
也;确保你返回一个布尔值。
位于Gruntfile.js
的顶部:
var fs = require('fs');
在您的任务设置中;
copy: {
unit: {
expand: true,
cwd: 'src',
src: '**',
dest: 'specs/unit',
filter: function(filepath){
return !fs.existsSync(filepath);
}
}
},
答案 1 :(得分:0)
grunt.file.setBase('./ destination')
//检查文件
grunt.file.setBase('./ src')
//检查文件