0

Я использую grunt-contrib-pug для компиляции моих .pug-файлов из src/и распространения соответствующих файлов .html на dist /. Вот моя мопс задача конфигурация (написано в .coffee):Sync удалить .html файлы, соответствующие .pug-файлам между src/и dist/

compile: 
    options: pretty: false 
    files: [ { 
     expand: true 
     cwd: 'src/' 
     src: [ '**/*.pug', '!includes/**' ] 
     dest: 'dist/' 
     ext: '.html' 
    } ] 

При удалении файла из .pug ЦСИ /, есть ли способ синхронизировать удалить соответствующие файлы HTML в дист /? Я знаю, что вы можете использовать grunt-contrib-clean, а затем скомпилировать файлы мопсов, но это не очень эффективно при работе с большой базой кода.

+1

grunt-delete-sync выглядит так, как будто он будет делать то, что вы хотите: https://github.com/taylorcode/grunt-delete-sync, возможно, кормить его громоздкими часами, если он не запускается непрерывно. В противном случае попробуйте: http://stackoverflow.com/a/18699787/3656963 с грубыми часами на src и измените fileToDelete по мере необходимости. – Revive

+0

Спасибо! Второе предложение хорошо зарекомендовало себя после изменения кода в соответствии с моим проектом. –

ответ

1

Как ссылается I-LOVE-2-REVIVE, я смотрел дальше в рубаки file API, и на этой основе, это решение, которое я придумал:

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' 

Он отлично работает!

 Смежные вопросы

  • Нет связанных вопросов^_^