搭建Icon私服
准备工作
本地环境
- Docker
- Node
服务端部署
- Docker
- Nginx
仓库
GitHub - iconify/api: Iconify API script. Search engine for icons, provides icon data on demand for icon components, dynamically generates SVG.
Iconify API script. Search engine for icons, provides icon data on demand for icon components, dynamically generates SVG. - iconify/api
GitHub
需要修改
- npm设置国内镜像
- build x86 本机 amd
- 添加.env配置项
部署
需要部署两个
- iconify/api
- 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看到
\