2014-05-06 38 views
0

我試圖創建一個非常簡單的複製任務,但它似乎咕嚕副本是不是我的用例做:-(。複製目錄/文件形成多SRC forders一個DEST

所有我需要的是以下:

來源目錄結構:

vendor 
    L subdir1 
     L assets 
      L subdir2 
       L subdir3 
        L file1.js 
       L file2.js 
    L subdir4 
     L subdir5 
      L subdir6 
       L file3.js 

配置:

src: [ 
    'vendor/subdir1/assets/**/*', 
    'vendor/subdir4/**/*' 
], 
dest: 'build/assets/' 

Destinatio n文件結構:

build 
    L assets 
     L subdir2 
      L subdir3 
       L file1.js 
      L file2.js 
     L subdir5 
      L subdir6 
       L file3.js 

正如你所看到的,我想保留目錄結構,但忽略了src中的basepath。通常這可以用cwd完成。但實際上對於這種情況下,我需要多個密碼。

聽起來對我來說是公平的要求。真的沒有簡單的解決方案嗎?

感謝您的幫助,

回答

0

您可以使用更多的逗號分隔的 '文件' 的定義在Gruntfile.js:

copy: { 
    dist: { 
     files: [ 
      { 
       src: ['assets/**/*'], 
       dest: 'build/assets/', 
       cwd: 'vendor/subdir1' 
      }, 
      { 
       src: ['**/*'], 
       dest: 'build/assets/', 
       cwd: 'vendor/subdir4/' 
      }] 
    } 
} 

在Gruntfile那麼例如運行此任務:

grunt.registerTask('build', [ 
    copy:dist 
]); 

然後運行任務grunt build

+0

對不起,對於遲到的答案。當然,在供應商中有超過2個(實際上沒有定義數量的)子目錄。所以這是行不通的。無論如何,Thx。我現在做了完全不同的事情,可以避開這個問題。 – Endian

相關問題