- Ось README та приклади: 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 = функція (grunt) { 'використовувати суворо'; var шлях = вимагати ('шлях'); grunt.registerMultiTask ('копіювати', 'Копіювати файли.', function () { var kindOf = grunt.util.kindOf; var options = this.options ({ contentContent: false, processContentExclude: [] }); var copyOptions = { процес: options.processContent, noProcess: options.processContentExclude }; grunt.verbose.writeflags (параметри, "Параметри"); var dest; var isExpandedPair; var tally = { dirs: 0, файли: 0 }; this.files.forEach (функція (filePair) { isExpandedPair = filePair.orig.expand || помилковий; filePair.src.forEach (функція (src) { if (detectDestType (filePair.dest) === 'каталог') { dest = (isExpandedPair)? filePair.dest: unixifyPath (path.join (filePair.dest, src)); } else { dest = filePair.dest; } якщо (grunt.file.isDir (src)) { grunt.verbose.writeln ("Створення" + dest.cyan); grunt.file.mkdir (dest); tally.dirs ++; } else { grunt.verbose.writeln ('Копіювання' + src.cyan + '->' + dest.cyan); grunt.file.copy (src, dest, copyOptions); tally.files ++; } }); });
Чи знаєте ви, що прийнята відповідь невірна? Дивіться цю відповідь нижче .
—
David Pärsson