Node.js 自动替换脚本工具:一键完成多项目批量修改与资源替换

发布时间:2026/7/15 10:59:06
Node.js 自动替换脚本工具:一键完成多项目批量修改与资源替换 一、关键字关键词Node.js、自动化脚本、批量替换、前端工程化、CI/CD二、项目背景在公司海外业务拓展过程中我们 上线了多款产品这些项目之间共用同一套主代码但 品牌名称、AppID、CDN 域名、图片资源 均不同每次新项目上线都需要手动替换十几个关键配置。这样的维护方式存在几个明显问题手动修改容易出错 —— 尤其是命名不一致、路径遗漏修改效率低 —— 每次都要全局搜索替换版本管理困难 —— 替换操作不可追溯、难以回滚重复劳动严重 —— 多地区版本间修改逻辑高度相似。为了让项目切换更安全、更自动化我们基于 Node.js 编写了一个智能替换脚本实现 「一键批量修改 图片替换」。三、总体思路我们的目标是让项目从旧版本如 Happy切换到新版本如 HappyCopy时只需执行一次命令。核心任务包括模块功能 项目名替换Happy → HappyCopy AppID 替换appId: “1” → appId: “5” 构建脚本更新自动修改 package.json scripts️ 图片替换按文件名匹配并覆盖旧图片自动备份原文件四、方案设计脚本分为两大部分1️⃣ 文本替换部分使用 Node.js 内置模块 fs、path 实现全项目递归扫描constoldValueHappy;constnewValueHappyCopy;constappIdPattern/appId:\s*[](\d)[]/g;替换逻辑包括同时处理大小写版本Happy / happy跳过不应修改的配置如release: “https://xxxxx/config.json”支持替换计数与日志输出 [UPDATE] src/pages/home/index.tsx共 5 处并在结束时统计总耗时与修改量✅ 替换完成 共修改文件数:12 总替换次数:46⏱️ 耗时:2.13秒2️⃣ 图片替换部分图片定制是地区化项目中最容易遗漏的环节。例如每个品牌都有自己的 logo、banner、icon。我们采用文件名匹配策略新图片放入 ./replace-images/旧图片在项目内查找同名文件并覆盖自动备份原文件到 ./backup-images/核心代码如下// 备份旧文件fs.copyFileSync(targetPath,backupPath);// 替换为新图片fs.copyFileSync(newImgPath,targetPath);执行结果示例 开始批量替换全项目图片...✅ 替换:src/assets/logo.png ⚠️ 未找到匹配文件:banner_home.png 替换完成 ✅ 替换:15张 ⚠️ 未找到:2张 备份目录:backup-images五、使用方法1️⃣ 创建脚本将脚本保存为/replace.js2️⃣ 修改参数根据目标项目修改以下变量const oldValue “Happy”;const newValue “HappyCopy”;3️⃣ 执行命令在项目根目录运行node ./replace.js脚本会递归遍历 指定目录执行替换逻辑输出详细日志与统计信息自动备份旧图片六、实际收益通过这个自动化脚本我们在项目切换中实现了效果说明效率提升从手工 30 分钟缩短到 20 秒内完成错误率降低无遗漏、无误替换结构可扩展后续可添加 API 域名、主题色、环境变量替换安全回退旧图片自动备份随时可恢复CI/CD 可集成可接入到 Jenkins、GitHub Actions 等流水线中自动执行七、总结在多品牌共用代码的工程中「自动化」不是可选项而是必须项。这个脚本解决了团队反复手动替换带来的低效与风险实现了一键切换 → 安全替换 → 自动备份 → 快速上线未来还可以进一步扩展环境变量自动同步.env 文件Git 自动提交与打 tag自动上传新图片至 CDN八、结语想要源码的发私信小工具虽小但能解决团队中反复出现的痛点问题。自动化不是炫技而是提升团队协作效率与质量的关键。当你在复制粘贴项目时请记得能用代码解决的重复工作绝不要手动做第二次。