javascript - 使用gulp replace怎么替换原文件,而不是生成新文件?

查看:80
本文介绍了javascript - 使用gulp replace怎么替换原文件,而不是生成新文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

到stackoverflow,google,百度搜了很多,也没有搜到相关的资料,都有点想自己写一个插件了。

exp:

let gulp = require('gulp');
let batchReplace = require('gulp-batch-replace');

gulp.src('html/**/*.html')
    .pipe(batchReplace([
        1: 2,
        2: 3
    ]))
    .pipe(gulp.dest('.')) //这个dest使用啥?gulp.src貌似不行,'.'当前目录也不行。

大家有没有碰到类似问题,有什么好的解决方案?

PS:为什么另一个dist目录?因为使用的是类JQ前端,不是单页...

==== 补充 ======

我找到了,搜索的思路有问题,之前搜的replace应该搜overwrite好点,问题链接

解决方案

整个文件数据流还在进行过程中的时候,好像是不能删除作为源头的文件的。(只是好像,我自己也记不太清了。
不过是有办法绕过这个机制的,虽然有点繁琐。

监控整个数据流的finish事件,事件触发的时候删除源文件,删除完成之后再把输出的新文件改成源文件的名字就行了。我以前就是这么做的,不知道现在有没有相应插件。

这篇关于javascript - 使用gulp replace怎么替换原文件,而不是生成新文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆