Синхронизация удаления файлов.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'

Работает отлично!

Другие вопросы по тегам