帮我用js写一个计算某一个文件夹下所有文件里的代码行数
时间: 2023-11-27 12:55:14 浏览: 30
好的,以下是一个简单的实现:
```javascript
const fs = require('fs');
const path = require('path');
function countLinesInDirectory(directory) {
let totalLines = 0;
const files = fs.readdirSync(directory);
files.forEach(file => {
const filePath = path.join(directory, file);
const stats = fs.statSync(filePath);
if (stats.isDirectory()) {
totalLines += countLinesInDirectory(filePath);
} else if (stats.isFile()) {
const extname = path.extname(filePath);
if (extname === '.js' || extname === '.jsx' || extname === '.ts' || extname === '.tsx') {
const content = fs.readFileSync(filePath, 'utf-8');
const lines = content.split('\n').filter(line => line.trim().length > 0);
totalLines += lines.length;
}
}
});
return totalLines;
}
console.log(countLinesInDirectory('/path/to/directory'));
```
这个函数会递归地遍历某个文件夹下的所有文件和子文件夹,并且只计算扩展名为 `.js`, `.jsx`, `.ts`, `.tsx` 的文件里的代码行数。