- 这是自述文件和示例: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); 理货.文件++; } }); });