在src /和dist /之间同步删除.pug文件对应的.html文件

时间:2017-02-16 00:27:45

标签: javascript gruntjs pug development-environment grunt-contrib-jade

我使用grunt-contrib-pug从src /编译我的.pug文件,并将相应的.html文件分发给dist /。这是我的pug-task配置(用.coffee编写):

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

当我从src /中删除.pug文件时,是否有任何方法可以同步删除dist /中相应的html文件?我知道你可以使用grunt-contrib-clean然后再次编译pug文件,但是在处理大型代码库时这不是时间效率。

1 个答案:

答案 0 :(得分:1)

正如I-LOVE-2-REVIVE引用的那样,我进一步研究了Grunt的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'

效果很好!