共计 922 个字符,预计需要花费 3 分钟才能阅读完成。
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);
正文完