generate-icon-map.js 780 B

1234567891011121314151617181920212223242526
  1. // generate-icon-map.js
  2. const fs = require('fs');
  3. const path = require('path');
  4. const iconsDir = path.resolve(__dirname, 'static/icons');
  5. const outputFile = path.resolve(__dirname, 'common/icon-map.ts');
  6. // 获取所有 SVG 文件
  7. const files = fs.readdirSync(iconsDir).filter(file => file.endsWith('.svg'));
  8. // 生成映射表
  9. const iconMap = {};
  10. files.forEach(file => {
  11. const name = file.replace('.svg', '');
  12. iconMap[name] = `/static/icons/${file}`;
  13. });
  14. // 生成 TypeScript 文件
  15. const content = `
  16. // 由脚本自动生成,请勿手动修改
  17. export const iconMap = ${JSON.stringify(iconMap, null, 2)};
  18. `;
  19. fs.writeFileSync(outputFile, content);
  20. console.log(`✅ 生成图标映射表: ${outputFile}`);
  21. console.log(`✅ 共 ${Object.keys(iconMap).length} 个图标`);