批量文件内容替换工具 replace.js

批量文件内容替换工具 replace.js

递归遍历指定路径下的目录文件,并替换内容

replace.js

// replace.js
const path = require('path');
const fs = require('fs');

const SRC_PATH = path.resolve(__dirname, '..', 'src');

const rArray = [
  [/@mdf\/baseui/g, 'yonui-ys/lib/index']
]

const doReplace = async (fullPath) => {
  const content = fs.readFileSync(fullPath, 'utf8');

  const newContent = rArray.reduce((result, item) => {
    const [reg, str] = item;
    return result.replace(reg, str);
  }, content);

  fs.writeFileSync(fullPath, newContent, { encoding: 'utf8' });
}

const replace = (root = SRC_PATH) => {
  fs.readdir(root, (err, files) => {
    if (err) console.error(err);

    files.forEach(async (file) => {
      const fullpath = path.resolve(root, file);

      fs.stat(fullpath, (err, stats) => {
        if (err) console.error(err);

        if (stats.isFile()) {
          doReplace(fullpath);
        } else if (stats.isDirectory()) {
          replace(path.resolve(root, file));
        }
      })
    })
  })
}

module.exports = replace;

run.js

require('./replace')();

至此,结束!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值