index.js 758 B

12345678910111213141516171819202122232425
  1. import path from 'node:path'
  2. import { globSync } from 'glob'
  3. import dynamicIcons from '../src/static/icons/dynamic-icons.js'
  4. /**
  5. * 获取图标列表,用于支持动态渲染自定义图标
  6. */
  7. export function getIcons() {
  8. const feFiles = globSync('src/static/icons/ai-icon/*.svg', { nodir: true, strict: true })
  9. const feIcons = feFiles.map((filePath) => {
  10. const fileName = path.basename(filePath)
  11. const fileNameWithoutExt = path.parse(fileName).name
  12. return `ai-icon:${fileNameWithoutExt}`
  13. })
  14. return [...dynamicIcons, ...feIcons]
  15. }
  16. /**
  17. * 生成 .vue 文件路径列表
  18. */
  19. export function getPagePathes() {
  20. const files = globSync('src/pages/**/*.vue')
  21. return files.map(item => `/${path.normalize(item).replace(/\\/g, '/')}`)
  22. }