Удалите пустые папки с чистой или чистой пустой задачей в Grunt.js
Я пытаюсь создать задачу 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.
2 ответа
Я использую задачу 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, каталог testXmls удаляется со всем его содержимым.
Я думаю, что ваша проблема в том, что вы используете подстановочные знаки в пути к каталогу, чтобы сообщить grunt об удалении всех подкаталогов live_preview. Если вы хотите удалить каталог верхнего уровня, просто используйте это. Все файлы и каталоги, содержащиеся внутри, будут рекурсивно удалены. Думай, гм-рф
Пытаться:
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
пакет... вы, вероятно, должны:-)