我使用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文件,但是在处理大型代码库时这不是时间效率。
答案 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'
效果很好!