jsdelivr-cdn-data 是一个基于 npm 上可用的 JavaScript 库,将 jsDelivr 的元数据导出到常见的数据格式并提供查询函数。本文将介绍 jsdelivr-cdn-data 的使用教程和指南,并提供示例代码。
安装
你可以在 npm 上找到 jsdelivr-cdn-data:
npm install jsdelivr-cdn-data
或者,您可以通过将其添加到您的 package.json 文件来直接从 GitHub 安装最新版本:
"jsdelivr-cdn-data": "GithubUser/jsdelivr-cdn-data.git"
然后运行:
npm install
使用
将 jsdelivr-cdn-data 引入您的 JavaScript 代码中:
const jsdelivrData = require('jsdelivr-cdn-data');
查询
我们可以利用 jsdelivrData.search()
来查询一个包是否存在于 jsDelivr。可以通过指定包名字符串和版本字符串来查找包,如下所示:
jsdelivrData.search('jquery', '3.6.0').then((data) => console.log(data));
查询结果如下:
-- -------------------- ---- ------- - ----- - - ----- --------- ------------ -- ----- ------ --- ------------ ---------- ---------- ------- -------- ----------- --- ------- ----- ------ ------ ------ ----- ----- ------- --- - -- ---------- -- ------------ - -------------- - - ---- -------- ------ - - - - -展开代码
如果包在 jsDelivr 上不存在,那么查询结果会是一个空对象。
导出
jsdelivr-cdn-data 基于 jsDelivr 提供的元数据库来实现,可以导出多种格式的元数据。以下列出了 jsdelivr-cdn-data 支持的数据格式:
- JSON
- CSV
- Markdown
JSON 格式
jsdelivr-cdn-data 的默认格式是 JSON,可以直接将其导出为 JSON 格式:
jsdelivrData.exportJson().then((data) => console.log(data));
导出结果:
-- -------------------- ---- ------- - -------- ----- -------------- ----------- ---------- ----------- - - ------- -------------- -------------- - ------- ------ ------ ---- ------------ -------- ----- -------- ---- --- -- --- - -展开代码
CSV 格式
还可以将 jsdelivr-cdn-data 导出为 CSV 格式,以方便使用 Excel 或其他电子表格应用程序进行进一步分析:
jsdelivrData.exportCsv().then((data) => console.log(data));
导出结果:
"name","description","stars","forks","totalFiles","humans","lastUpdate" "@alifd/next","Alibaba Fusion Design Next Components","1287","556","1558","true","2022-01-26" "@ali/font_alef","Alef Font","11","4","26","true","2021-12-14" ...
Markdown 格式
将 jsdelivr-cdn-data 导出为 Markdown 格式可读性更好:
jsdelivrData.exportMarkdown().then((data) => console.log(data));
导出结果:
| name | description | stars | forks | totalFiles | humans | lastUpdate | | ---- | ----------- | ----- | ----- | ---------- | ------ | ---------- | | @alifd/next | Alibaba Fusion Design Next Components | 1287 | 556 | 1558 | true | 2022-01-26 | | @ali/font_alef | Alef Font | 11 | 4 | 26 | true | 2021-12-14 | | ...
排序和过滤
可以在查询结果对象上使用 lodash.js 库上的 .sortBy() 、 .filter() 等函数来对结果进行排序或过滤。
排序
jsdelivrData.search('jquery').then((data) => { const sortedData = _.sortBy(data.hits, ['stars']); console.log(sortedData); });
查询结果按 stars 升序排序。
过滤
jsdelivrData.search('jquery').then((data) => { const filteredData = _.filter(data.hits, (hit) => { return hit.humans; }); console.log(filteredData); });
只显示包含人类可读文件的包。
结论
jsdelivr-cdn-data 使您可以在 JavaScript 代码中查询和导出 jsDelivr 上的包元数据。此库提供了多种数据格式和排序和过滤等功能。使用它可以方便地了解、分析和处理 jsDelivr 上的包,也可以作为前端开发的工具之一。
示例代码
-- -------------------- ---- ------- ----- ------------ - ----------------------------- ----- - - ------------------ ------------------------------------- -- - ------------------ ----- ---------- - -------------- ---------------- ------------------------ --- ------------------------------------ -- ------------------- ----------------------------------------- -- ------------------- ----------------------------- -------------------- -- ------------------- ----------------------------- ---------------------- -- - ----- ------------ - ------------------- ----- -- - ------ ----------- --- -------------------------- ---展开代码
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5ef2c9e68c4ce90ee4ca3b6c