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);
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。