40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
const fs = require('fs');
|
||
const path = require('path');
|
||
|
||
// 读取src/assets目录
|
||
const assetsDir = path.join(__dirname, 'src', 'assets');
|
||
|
||
fs.readdir(assetsDir, (err, files) => {
|
||
if (err) {
|
||
console.error('读取目录失败:', err);
|
||
return;
|
||
}
|
||
|
||
// 过滤出PNG图片
|
||
const pngFiles = files.filter(file => file.endsWith('.png'));
|
||
|
||
// 获取每个文件的大小
|
||
const fileInfo = pngFiles.map(file => {
|
||
const filePath = path.join(assetsDir, file);
|
||
const stats = fs.statSync(filePath);
|
||
return {
|
||
name: file,
|
||
size: stats.size,
|
||
sizeKB: (stats.size / 1024).toFixed(2)
|
||
};
|
||
});
|
||
|
||
// 按大小排序(从大到小)
|
||
fileInfo.sort((a, b) => b.size - a.size);
|
||
|
||
// 输出结果
|
||
console.log('src/assets目录下PNG图片大小分析(从大到小):');
|
||
console.log('文件名'.padEnd(25), '大小(字节)'.padEnd(15), '大小(KB)');
|
||
console.log('-' .repeat(60));
|
||
fileInfo.forEach(file => {
|
||
console.log(file.name.padEnd(25), file.size.toString().padEnd(15), file.sizeKB);
|
||
});
|
||
console.log('-' .repeat(60));
|
||
console.log(`总计: ${pngFiles.length} 个PNG图片`);
|
||
});
|