基于node实现文件路径替换

本文介绍了如何使用Node.js实现文件路径的替换,包括解压缩zip、递归遍历文件目录、正则匹配和替换、压缩文件并返回到前端。重点讨论了正则表达式在匹配和替换中的应用,以及在处理文件传输时需要注意的细节。
摘要由CSDN通过智能技术生成

写在最前

本次分享一个简易路径替换工具。功能很简单,重点在于掌握:

  • 递归遍历文件夹目录
  • 正则替换目标内容
  • 解压上传文件,返回更新后的压缩文件

源码地址:https://github.com/Aaaaaaaty/Blog/tree/master/fsPathSys

效果预览

在线预览

结果对比图:
wechatimg24
wechatimg24

PS:后端支持匹配js、css、img、background-image的url的对应路径并进行分别替换,当前只是展示方便,前端只传递一个路径将所有匹配的源路径替换为目标路径。

整体流程

  1. 前端上传压缩包及需要替换的路径字段
  2. 后端解压缩
  3. 递归文件目录,找到.js/.css/.html文件并匹配替换路径
  4. 压缩整体文件,返回到前端

整体来说可能会遇到的难点在于对正则的使用,以及完成替换后将压缩的文件夹传回本地。以前没怎么写过正则正好借此机会来学习一波,同时对于文件夹(注意不是文件传输!)传输踩了一下坑。毕竟大部分时间做静态服务器我们是只需要返回单个文件不需要以一个文件夹的形式来返回到前端。

解压缩zip

在nodejs文档中发现原生api貌似只支持gzip的解压缩,故引入了第三方插件unzip来解决。

let inp = fs.createReadStream(path)
let extract = unzip.Extract({ path: t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值