Gulp:将文件递归复制到每个子目录

时间:2019-04-04 22:34:31

标签: gulp

我有一个名为foo的文件,我想将其复制到每个子目录中。

例如,如果当前目录结构为:

- files
    - A/
    - B/
    - C/
    - D/
        - D1/
        - D2/

然后是手术后,应该是:

-files
    - foo
    - A/
        - foo
    - B/
        - foo
    - C/
        - foo
    - D/
        - foo
        - D1/
            - foo
        - D2/
            - foo

如何使用Gulp做到这一点

请注意,我事先不知道子目录是什么,因此需要动态完成,并且路径也不能硬编码。

1 个答案:

答案 0 :(得分:1)

您可以使用gulp-multi-destglob软件包来完成此操作:

const gulp = require('gulp'),
    multiDest = require('gulp-multi-dest'),
    glob = require('glob');

function copyToAll(done) {
    glob('files/**/', (err, matches) => {
        if (err) {
            console.log('Error', err);
        } else {
            gulp.src('files/foo').pipe(multiDest(matches));
        }
        done();
    });
}

exports.default = copyToAll;