我正在尝试创建一个Grunt任务来清理目录中的所有文件、子目录及其文件等。
我可以删除所有的文件,但是文件夹却一直存在。
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.
我使用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']);
当我运行grunt clean-tests时,testxml目录连同它的所有内容被删除。
我想你的问题是你在目录路径中使用通配符来告诉grunt删除live_preview的所有子目录。如果您想要删除顶级目录,那么只需使用它。其中包含的所有文件和目录将被递归删除。思考rm -rf
试题:
clean: {
preview: ["live_preview"],
dist: ["dist"]
}
同样,在终端中,当您看到:
Deleting live_preview/styles
这只是意味着它正在删除样式目录——它给了你/styles的整个路径,而live_preview是该路径的一部分,这就是为什么你会看到它——没有任何迹象表明live_preview本身被删除了。因此输出实际上是正确的。
通过folders
选项的存在,看起来您正在使用grunt-cleanempty
包。如果是这样,这里的问题是您已经将其配置嵌套在clean
任务中,并且它属于自己的顶层。您在这里创建的是clean
的子任务,它不理解folders
选项。当您执行grunt clean
时,子任务正在运行,并且在src
中指定的那些子文件夹正在被删除。
如果你没有使用grunt-cleanempty
包…你可能应该:-)
链接到grunt-cleanempty