Files
eSIM-Tools/scripts/deploy-analyze.js
Abner 5a29e64ec7 feat: 重构部署流程并移除 Service Worker
- 新增部署工具脚本:添加 `build-static.js`、`deploy-prepare.js`、`deploy-analyze.js` 和 `test-deploy-config.js` 标准化构建部署流程
- 配置 Netlify 发布目录:修改 `netlify.toml` 将 `publish` 从根目录切换到 `dist` 目录以增强安全性
- 移除 Service Worker 相关代码:删除 `sw.js` 并清理相关注册逻辑,简化性能优化策略
- 增强服务器静态文件服务:重构静态资源中间件,增加环境检查和错误处理
- 改进 API 密钥处理逻辑:统一 Netlify Functions 的密钥验证流程,增加配置缺失提示
- 添加 Serena AI 配置文件:包含项目元数据、语言服务器设置和常用命令记忆
- 重构 HTML 页面路由:使用配置化的路由表替代硬编码路径,提高可维护性
2025-11-23 19:44:45 +08:00

35 lines
1.0 KiB
JavaScript
Executable File

#!/usr/bin/env node
const fs = require('fs');
const path = require('path');
const distDir = path.join(__dirname, '..', 'dist');
function listFiles(dir, base = dir) {
const output = [];
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
const full = path.join(dir, entry.name);
if (entry.isDirectory()) {
output.push(...listFiles(full, base));
} else {
const rel = path.relative(base, full);
const size = fs.statSync(full).size;
output.push({ rel, size });
}
}
return output;
}
(function main() {
if (!fs.existsSync(distDir)) {
console.error('dist 不存在,请先运行 npm run build');
process.exit(1);
}
const files = listFiles(distDir);
console.log('📦 dist 构建分析:');
files.sort((a, b) => b.size - a.size);
files.slice(0, 10).forEach(file => {
console.log(`${file.rel.padEnd(50)} ${(file.size / 1024).toFixed(1)} KB`);
});
console.log(`合计文件 ${files.length} 个,总大小 ${(files.reduce((sum, f) => sum + f.size, 0) / 1024).toFixed(1)} KB`);
})();