const fs = require("fs");
const path = require("path"); // 解析需要遍历的文件夹
const filePath = path.resolve("./src/");

// 读取文件,并且替换文件中指定的字符串
let replaceFile = function (filePath) {
fs.readFile(filePath, function (err, data) {
if (err) return err;

// 使用正则匹配替换掉关键字
let str = data.toString().split("\n");
str.splice(0, 0, "// @ts-nocheck");
var text = str.join("\n");

// 文件重写
fs.writeFile(filePath, text, function (err) {
  if (err) return err;
});

});
};

// 文件遍历方法
function fileDisplay(filePath) {
// 根据文件路径读取文件,返回文件列表
fs.readdir(filePath, function (err, files) {
if (err) {
console.warn(err);
} else {
// 遍历读取到的文件列表
files.forEach(function (filename) {
// 获取当前文件的绝对路径
const filedir = path.join(filePath, filename);

    // 根据文件路径获取文件信息,返回一个fs.Stats对象
    fs.stat(filedir, function (eror, stats) {
      if (eror) return err;

      const isFile = stats.isFile(); // 是文件
      const isDir = stats.isDirectory(); // 是文件夹

      if (isFile && filename.includes(".ts")) replaceFile(filedir);
      if (isDir) fileDisplay(filedir); // 递归,如果是文件夹,就继续遍历该文件夹下面的文件
    });
  });
}

});
}

// 调用文件遍历方法
fileDisplay(filePath);


BruceCham
0 声望0 粉丝