Skip to content

管理包

Iconify Tools 提供了多个函数,以帮助自动化下载、比较和更新包。

异步

下面列出的大多数函数都是异步的。

如果你不熟悉 JavaScript 中的异步函数,请查阅 Promise 类以及 asyncawait 关键字。

使用异步函数最简单的方式是将所有代码包裹在一个匿名异步函数中,然后使用 await 等待函数执行:

tsconst iconSet = await importDirectory('files/svg', {
   prefix: 'test',
});

要捕获错误,请使用 trycatch

tslet iconSet: IconSet;
try {
   iconSet = await importDirectory('files/svg', {
       prefix: 'test',
   });
} catch (err) {
   console.error(`Failed to import directory:`, err);
   return;
}

可以查阅关于 asyncawait 的各种教程。YouTube 上有许多免费且优质的教程。

下载包

这些函数用于从各种来源下载包。

这些函数可用于下载图标集的源代码,然后可以使用 importDirectory() 函数进行导入。

这些函数还可用于将导出的数据与之前发布的数据进行比较,如果包发生了更改,则发布新版本。

此外,还有几个用于通过 URL 下载文件的函数:

  • sendAPIQuery()fetch 的包装器,支持缓存。它被 importFromFigma() 等函数使用。
  • downloadFile() 也是 fetch 的包装器,简化了二进制文件(如压缩包)的下载。它被 GitHub、GitLab 和 NPM 下载器使用。

版本

在发布包时,您可能需要更改包的版本号。Iconify Tools 提供了几个函数来帮助您自动化此过程:

用于从本地文件获取版本号或提交哈希的函数:

用于从远程包/仓库获取版本号或提交哈希的函数:

比较目录

在自动化构建流程时,如果没有任何更改却发布新包是没有意义的。Iconify Tools 中有一个函数可用于检查更改:

与简单的比较不同,此函数会忽略 package.json 中的版本号、隐藏文件以及不同的换行符。