- 这是自述文件和示例:https ://github.com/gruntjs/grunt-contrib-copy/blob/master/README.md 。
- 这是来自https://github.com/gruntjs/grunt-contrib-copy/blob/master/tasks/copy.js的代码的相关部分(我显然无法理解):
module.exports = 功能(咕噜声){
'使用严格';
var path = require('path');
grunt.registerMultiTask('copy', '复制文件。', function() {
var kindOf = grunt.util.kindOf;
var options = this.options({
处理内容:假,
处理内容排除:[]
});
var 复制选项 = {
流程:options.processContent,
noProcess:options.processContentExclude
};
grunt.verbose.writeflags(options, 'Options');
变量目标;
var isExpandedPair;
变量计数 = {
目录:0,
文件:0
};
this.files.forEach(函数(文件对){
isExpandedPair = 文件对.orig.expand || 错误的;
文件对.src.forEach(函数(src){
if (detectDestType(filePair.dest) === '目录') {
dest = (isExpandedPair) ? filePair.dest : unixifyPath(path.join(filePair.dest, src));
} 别的 {
dest = 文件对.dest;
}
if (grunt.file.isDir(src)) {
grunt.verbose.writeln('创建' + dest.cyan);
grunt.file.mkdir(dest);
理货.dirs++;
} 别的 {
grunt.verbose.writeln('正在复制 ' + src.cyan + ' -> ' + dest.cyan);
grunt.file.copy(src, dest, copyOptions);
理货.文件++;
}
});
});