- Ось 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