javascript - 使用gulp replace怎么替换原文件,而不是生成新文件?
巴扎黑
巴扎黑 2017-04-11 12:17:00
[JavaScript讨论组]

到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好点,问题链接

巴扎黑
巴扎黑

全部回复(2)
ringa_lee

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

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

巴扎黑

你直接输出文件到原目录不就覆盖了原文件了么,gulp.dest()就是输出文件,指定一个路径;至于使用方法看文档吧

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号