grunt-contrib-copy: 多重拷贝任务

11

请问是否可以将“copy”任务设置为有选择性地复制? 例如,一个任务可能想要复制一些特定的文件,而另一个任务可能想要复制其他文件。

我看到所有示例中都使用了“main”,但我找不到其他名称是否可用的参考,或者使用grunt-multi-dest 之外的方法来完成这个目标。

    copy: {
      main: {
        files: [
          {
            cwd: 'src_static/img/',
            src: ['**'],
            dest: '../mainProject/assets/img/'
          }
        ],
      onlyIcons: {
        files: [
          {
            cwd: 'src_static/img/icons/',
            src: ['**'],
            dest: '../mainProject/assets/img/icons/'
          }
        ],
      }
    }
    grunt.registerTask('copy-all', ['copy']);
    grunt.registerTask('copy-icons', ['copy:onlyIcons']);

尽管已经关闭,但我被要求引用我在grunt-contrib-copy网站上发布的问题:https://github.com/gruntjs/grunt-contrib-copy/issues/230#issuecomment-96467261

谢谢。 -Keith

2个回答

15

如果你现在看到这篇文章,这个方法确实有效:

grunt.registerTask('copy-all', ['copy']);
grunt.registerTask('copy-icons', ['copy:onlyIcons']);

这是基于KDCinfo的初始Gruntfile配置:

copy: {
    main: {
        files: [{
            cwd: 'src_static/img/',
            src: ['**'],
            dest: '../mainProject/assets/img/'
        }]
    },
    onlyIcons: {
        files: [{
            cwd: 'src_static/img/icons/',
            src: ['**'],
            dest: '../mainProject/assets/img/icons/'
        }],
    }
}

本文表明在grunt.registerTask()中调用copy.maincopy.onlyIcons 必须以copy:maincopy:onlyIcons 的形式呼叫。


这个很难找到。这也应该是被接受的答案,因为它不仅适用于特定的插件。 - Fusseldieb

0

看起来grunt-multi-dest似乎是明显的赢家。即使如此,只需包含并使用它也没有太多的缺点。它可以很好地填补空白。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接