在src/和dist/之间同步删除.html个对应.pug文件的文件
Sync delete .html files corresponding to .pug files between src/ and dist/
我使用 grunt-contrib-pug 从 src/ 编译我的 .pug 文件并将相应的 .html 文件分发到 dist/。这是我的哈巴狗任务配置(用 .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 文件,但是在处理大型代码库时这不是很省时。
根据 I-LOVE-2-REVIVE, I looked further into Grunt's 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'
效果很好!
我使用 grunt-contrib-pug 从 src/ 编译我的 .pug 文件并将相应的 .html 文件分发到 dist/。这是我的哈巴狗任务配置(用 .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 文件,但是在处理大型代码库时这不是很省时。
根据 I-LOVE-2-REVIVE, I looked further into Grunt's 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'
效果很好!