Javascript is required
搭建Icon私服

准备工作

本地环境

  • Docker
  • Node

服务端部署

  • Docker
  • Nginx

仓库

https://github.com/iconify/api

需要修改

  1. npm设置国内镜像
  2. build x86 本机 amd
  3. 添加.env配置项

部署

需要部署两个

  1. iconify/api
  2. antfu/icones

一个是后端服务通过链接返回svg

另一个是 svg playground 提供搜索 在线预览

构建后端

version: '3'
services:
    icon_api:
        image: registry.cn-hangzhou.aliyuncs.com/taoya7/iconify_api:latest
        restart: always
        ports:
            - 3000:3000

构建前端

git clone https://github.com/antfu/icones
cd icones
pnpm i
pnpm run dev-pwa
pnpm run build  ==> 将dist目录 移动到服务器即可

注意需要修改

验证

文件迁移到服务器后查看

查询

Base: https://icons-api.taoya.art/

/{prefix}/{icon}.svg动态生成 SVG

例子

加入颜色

加入大小

效果

原理分析

icons打包后dist/collections 包含所有icons-jsons。 所以文件特别大,总共打包后大小340mb。

依赖加入了electron, 后面可能会出本地版。

api部署启动后会下载 @iconify/json2.2.167 压缩包

文件历史版本可以在https://www.npmjs.com/package/@iconify/json看到