Files
yunzerwebsiteallinone/uniapp/scripts/gen-fa-icons.js
T
2026-07-15 17:39:10 +08:00

25 lines
824 B
JavaScript

/**
* 从 Font Awesome SCSS 变量生成图标 Unicode 映射表。
* 升级 @fortawesome/fontawesome-free 后执行: node scripts/gen-fa-icons.js
*/
const fs = require('fs')
const path = require('path')
const scssPath = path.join(
__dirname,
'../node_modules/@fortawesome/fontawesome-free/scss/_variables.scss'
)
const outputPath = path.join(__dirname, '../utils/fa-icons.js')
const source = fs.readFileSync(scssPath, 'utf8')
const icons = {}
for (const match of source.matchAll(/\$var-([a-z0-9-]+):\s*\\([a-f0-9]+);/gi)) {
const [, name, hex] = match
icons[name] = String.fromCharCode(parseInt(hex, 16))
}
const content = `export const FA_ICONS = ${JSON.stringify(icons, null, 2)}\n`
fs.writeFileSync(outputPath, content, 'utf8')
console.log(`Generated ${Object.keys(icons).length} icons -> utils/fa-icons.js`)