如何配置grunt复制任务

时间:2015-08-07 08:15:34

标签: file gruntjs copy

我有一个目录:

- app/
    - monday/
          a.js
          b.js
    - tuesday/
          a.js
          b.js

我在Grunt中配置如下:

files: [{
    expand: true,
    cwd: '<%= yeoman.app %>/',
    src: ['**/*.js'],
    dest: '<%= yeoman.dist %>/',
    ext: '.js'
}]

然后Grunt将创建一个目录:

- build/
    - monday/
          a.js
          b.js
    - tuesday/
          a.js
          b.js

但是我怎样才能获得这样创建的目录结构:

- build/
    - monday/
        - wrap/
              a.js
              b.js
    - tuesday/
        - wrap/
              a.js
              b.js

我已经尝试了

files: [{
    expand: true,
    cwd: '<%= yeoman.app %>/',
    src: ['**/*.js'],
    dest: '<%= yeoman.dist %>/**/wrap',
    ext: '.js'
}]

和......但他们都没有工作。

1 个答案:

答案 0 :(得分:0)

我认为当前配置无法实现这一点,因为您希望在由“**”检索的结构化层次中插入文件夹。

但是

总是会忘记Grunt文件不仅是声明性的,因为它可能会在您看到它时出现,但它是普通Javascript 所以您可以编写一个函数来获取 src (如src: [getMySourceFiles()]),您可以编写另一个函数来返回 dest 值:dest: placeThemHere()。 此外,您可以编写一个函数来返回 copy 或更多部分的整个配置对象。

通过这种方式,您可以以一种尽可能复杂的方式使用它。

希望这有助于任何人记住grunt实际上是javascript,而不是json。