mirror of
https://github.com/Silentely/eSIM-Tools.git
synced 2026-09-03 06:24:20 +08:00
- 新增部署工具脚本:添加 `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 页面路由:使用配置化的路由表替代硬编码路径,提高可维护性
35 lines
1.0 KiB
JavaScript
Executable File
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`);
|
|
})();
|