//生成Excel依赖包 yarn add node-xlsx
const xlsx = require("node-xlsx");
var fs = require("fs");
const path = require('path')
let excel = [{
name: "名字",
data: []
}];
// 获取JSON文件内容是否能匹配到
function queryJsonMtd(dir) {
let flag = true;
let reg = /node/;
const data = fs.readFileSync(dir, 'utf-8');
const config = JSON.parse(data);
for (var item in config.usingComponents) {
let value = config.usingComponents[item];
if (reg.test(value)) {
if (flag) {
excel[0].data.push([dir])
flag = false;
}
}
}
}
// 字符串查找
function queryJsxMtd(dir) {
const data = fs.readFileSync(dir, 'utf-8');
if (data.includes('node')) {
excel[0].data.push([dir])
}
}
// 文件遍历
function getFiles(dir) {
const stat = fs.statSync(dir)
if (stat.isDirectory()) {
//判断是不是目录
const dirs = fs.readdirSync(dir)
dirs.forEach(value => {
getFiles(path.join(dir, value))
})
} else if (stat.isFile()) {
if (path.extname(dir) === '.json') {
queryJsonMtd(dir)
} else if (path.extname(dir) === '.js') {
queryJsxMtd(dir)
}
}
}
getFiles('node')
// 导出excal
const buffer = xlsx.build(excel)
fs.writeFile("testFile1.xlsx", buffer, function (err) {
if (err) {
console.log(err, "保存excel出错");
} else {
console.log("写入excel成功!!!");
}
});
console.log("程序执行完毕。", excel);
node 遍历文件是否存在数据
最新推荐文章于 2023-04-15 14:04:18 发布