Синхронизация удаления файлов.html, соответствующих файлам.pug, между src/ и dist/
Я использую grunt-contrib-pug для компиляции моих файлов.pug из src/ и распространяю соответствующие файлы.html в dist/. Вот мой конфиг pug-task (написанный на.coffee):
compile:
options: pretty: false
files: [ {
expand: true
cwd: 'src/'
src: [ '**/*.pug', '!includes/**' ]
dest: 'dist/'
ext: '.html'
} ]
Когда я удаляю файл.pug из src/, есть ли способ синхронизировать удаление соответствующих html-файлов в dist/? Я знаю, что вы можете использовать grunt-contrib-clean с последующей компиляцией файлов pug, но это неэффективно по времени при работе с большой базой кода.
1 ответ
Решение
На что ссылается Revive, я более Revive изучил файловый API Grunt, и на этом основании я решил следующее решение:
grunt.event.on 'watch', (action, filepath, target) ->
if action == 'deleted' && /pug/.test(filepath)
file = 'dist' + filepath.slice(3, -3) + 'html'
grunt.file.delete file
# Log deleted files
grunt.log.write '\n' + filepath + ' deleted > ' + file + ' deleted.\n'
Работает отлично!