如何复制每个目录中的单个文件

时间:2015-09-22 15:33:46

标签: javascript gruntjs grunt-contrib-copy

我想配置并执行一个以递归方式复制每个目录中指定文件的任务。具体来说,我希望在我的web项目的每个目录和子目录中复制“index.php”,如果不存在的话。我尝试使用multidestcopy,但multidest似乎不允许通过通配符指定路径(太糟糕了!)。我该怎么解决这个问题?谢谢

grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    multidest: {
        tst: {
                tasks: ['copy:indexphp'],
                dest: '**/' //THIS DOESN'T WORK, I SHOULD SPECIFY ANY DIR/SUBDIR/ETC.. 
        },
    },

    copy: {
        indexphp: {
            expand: true,
            cwd: 'classes',
            src: 'index.php',
            filter: function (filepath) {
                // NPM load file path module.
                var path = require('path');

                // Construct the destination file path.
                var dest = path.join(
                    grunt.task.current.data.dest,
                    path.basename(filepath)
                );

                // Return false if the file exists.
                return !(grunt.file.exists(dest));
            }
        },
[...]

0 个答案:

没有答案