// generate-preview.js const fs = require('fs'); const path = require('path'); function generateIconfontPreview(cssPath, outputPath) { const cssContent = fs.readFileSync(cssPath, 'utf8'); // 解析图标 const iconRegex = /\.(icon-[^:]+):before\s*{\s*content:\s*["']\\([^"']+)["']/g; const icons = []; let match; while ((match = iconRegex.exec(cssContent)) !== null) { icons.push({ className: match[1], unicode: '\\' + match[2] }); } // 计算引入css文件相对于 outputPath的路径 const relativeCssPath = path.relative(path.dirname(outputPath), cssPath); // 生成 HTML const html = ` Iconfont Preview

Iconfont Preview (${icons.length} icons)

${icons.map(icon => `
${icon.className}
`).join('')}
`; fs.writeFileSync(outputPath, html); console.log(`预览已生成: ${outputPath}`); } // 使用 const cssPath = path.join(__dirname, '../common/css/iconfont.css'); const outputPath = path.join(__dirname, '../iconfont-preview.html'); generateIconfontPreview(cssPath, outputPath);