0
我對Grunt相當陌生。我試圖從一個位置複製每個子目錄,並將每個子目錄放在另一個目標目錄中。我在一個自定義的grunt任務中這樣做,因爲我無法確定源位置中將存在多少個子目錄。我面臨的問題是每次執行副本時,前面的目錄結構都會被覆蓋。Grunt Copy任務將覆蓋目標父目錄
我已經嘗試將「cwd」設置爲從中複製的子目錄的根目錄,但問題仍然存在。
文件夾結構:
container
|
- dist/ *I want to copy each src folder here
|
GruntFile.js
subapps
|
- thing1/dist
| *I want to copy each of these dirs (thing1/dist, thing2/dist) to container/dist eg: container/dist/thing1/dist, container/dist/thing2/dist
- thing2/dist
我的任務:
grunt.registerTask('copySubApps', function() {
grunt.file.expand({filter : 'isDirectory'}, '../subapps/*/').forEach(function (subapp) {
var subAppName = path.basename(subapp);
var subAppDest = grunt.template.process('dist/subapps/<%= appName %>/dist/',{data:{appName:subAppName}});
grunt.config('subAppDest', subAppDest);
grunt.config('subAppName', subAppName);
grunt.task.run('copy:subapp');
});
});
配置:
copy: {
subapp: {
expand: true,
src: '**/*',
dest: '<%= subAppDest %>',
cwd: '../subapps/<%= subAppName %>/dist'
}
}
每個後續副本將覆蓋其前面的一個。我如何避免這種情況?我相信這是一種非常幼稚的方式,所以建議和指導非常受歡迎。 :-)一旦這個工作,我需要進一步過濾每個子文件夾中的哪些項目被複制。例如subapps/thing1/style,!subapps/thing1/common等。
謝謝!