node.js实现遍历所有文件夹里面的js文件,提取所有的url
在Node.js中,你可以使用fs
模块来读取文件和path
模块来处理文件路径,以及glob
模块来遍历文件夹。以下是一个简单的例子,它会遍历指定文件夹内的所有.js
文件,并提取出所有的URL。
首先,确保安装了glob
模块:
npm install glob
然后,使用以下代码:
const fs = require('fs');
const path = require('path');
const glob = require('glob');
const util = require('util');
const exec = util.promisify(require('child_process').exec);
const folderPath = './'; // 指定文件夹路径
async function extractUrlsFromJsFiles(folderPath) {
const files = await new Promise((resolve, reject) => {
glob(path.join(folderPath, '**/*.js'), {}, (err, files) => {
if (err) reject(err);
resolve(files);
});
});
const urls = [];
for (const file of files) {
const content = fs.readFileSync(file, 'utf8');
// 这里假设URL以http开头,你可以根据实际情况调整正则表达式
const regex = /https?:\/\/[^s]*[^,;'"\s)]/g;
let match;
while ((match = regex.exec(content))) {
urls.push(match[0]);
}
}
return urls;
}
extractUrlsFromJsFiles(folderPath).then(urls => {
console.log(urls);
}).catch(error => {
console.error('An error occurred:', error);
});
这段代码会遍历指定文件夹内的所有.js
文件,并打印出所有找到的URL。你可以根据需要调整正则表达式以匹配不同格式的URL。
评论已关闭