2014-05-14 88 views
0
乾淨或乾淨的空任務

我想創建一個咕嚕任務清理掉所有的文件,子目錄的目錄及其文件等等刪除空文件夾,在Grunt.js

我可以刪除所有的文件,但文件夾始終保持。

clean: { 
     preview: ["live_preview>/**/*"], 
     dist: ["dist/**/*"] 
    }, 
    cleanempty: { 
     options: { 
      folders: true 
     }, 
     src: ['live_preview/**', 'tmp/**'] 
    }, 

我試圖清空live_preview文件夾。我嘗試過幾種通配符組合。更令人困惑的是,-v的終端輸出使它看起來好像工作,但空文件夾仍然存在。

Verifying property cleanempty.src exists in config...OK 
Files: live_preview, live_preview/fonts, live_preview/images, live_preview/partials,  live_preview/partials/elements, live_preview/scripts, live_preview/scripts/data, live_preview/styles, live_preview/views, tmp, tmp/styles, tmp/styles/live_preview.css, tmp/styles/live_preview.css.map, tmp/styles/theme.css, tmp/styles/theme.css.map -> src 
Options: folders 
Options: files, folders, force=false, no-write=false 
Options: files, folders, force=false, no-write=false 
Cleaning live_preview/views...Deleting live_preview/views...OK 
OK 
Cleaning live_preview/styles...Deleting live_preview/styles...OK 
OK 
Cleaning live_preview/scripts/data...Deleting live_preview/scripts/data...OK 
OK 
Cleaning live_preview/partials/elements...Deleting live_preview/partials/elements...OK 
OK 
Cleaning live_preview/images...Deleting live_preview/images...OK 
OK 
Cleaning live_preview/fonts...Deleting live_preview/fonts...OK 
OK 

Done, without errors. 

回答

1

我正在使用Grunt任務來清理臨時目錄,並在運行任務時刪除整個文件夾。我假設你使用相同的插件,但只是要確定:https://github.com/gruntjs/grunt-contrib-clean

這是我設置的簡化版本:

clean: { 
    tests: ['testXmls'] // testXmls is a directory in the top level of my app 
} 

grunt.registerTask('clean-tests', ['clean:tests']); 

當我運行咕嚕清潔測試testXmls目錄與所有被刪除它的內容。

我認爲你的問題是你在目錄路徑中使用通配符來告訴grunt刪除live_preview的所有子目錄。如果你想要刪除頂級目錄,那麼就使用它。包含在裏面的所有文件和目錄將被遞歸地刪除。想想RM -rf

嘗試:

clean: { 
    preview: ["live_preview"], 
    dist: ["dist"] 
} 

而且,在你的終端,當你看到:

Deleting live_preview/styles 

這只是意味着它刪除樣式目錄 - 這是給你的整個路徑/ styles和live_preview是該路徑的一部分,這就是您看到它的原因 - 沒有任何指示live_preview本身被刪除。所以輸出實際上是正確的。

0

folders選項的存在,它看起來像你正在使用grunt-cleanempty包。如果是這樣,這裏的問題是你已經在clean任務中嵌套了它的配置,並且它屬於頂層。這裏創建的是clean的子任務,其中folders選項不明白。當您grunt clean時,子任務正在運行,您的src中指定的子文件夾正在被刪除。

如果您使用的不是grunt-cleanempty包......你應該:-)

Link to grunt-cleanempty