需求
想解析一份 js 文件,把 require 的 js 对象打印出来。但是发现并不能获取到注释信息,毕竟是注释 = =
源码
main.js
let fs = require('fs');
const PATH = './input'; // 目录
// 遍历目录得到文件信息
function walk (path, callback) {
let files = fs.readdirSync(path);
files.forEach(function (file) {
if (fs.statSync(path + '/' + file).isFile()) {
callback(path + '/' + file);
}
});
}
// 运行
walk(PATH, (file) => {
let map = require(file);
let keys = Object.keys(map);
keys.forEach((key) => {
fs.writeFileSync('./output/output.txt', JSON.stringify(map[key], null, '\t'));
});
});
input/test.js
module.exports = {
'/api/massEmail/pcGame/getInfo': {// 获取邮件详情
Type: 'GET', // 请求类型
Request: {
Id: 1 // 邮件 Id
},
Response: {
Data: {
Id: 1, // Id
Name: 'Roam' // Name
},
Status: true, // 状态
Message: 'Success' // 返回信息
}
}
};
最终生成:
- output/output.text
{
"Type": "GET",
"Request": {
"Id": 1
},
"Response": {
"Data": {
"Id": 1,
"Name": "Roam"
},
"Status": true,
"Message": "Success"
}
}
求助
不知道各位有什么思路没,如果读取文件,涉及的正则之类的解析是否会很繁杂,或者有更好的方法?