介绍
@jsenv/url-meta 是一个用于从 URL 中提取元数据的 JavaScript 库。它支持从链接中提取标题、描述、图像等元数据信息。它可以帮助开发者快速构建一个 URL 分享预览的功能。
安装
npm install @jsenv/url-meta
使用方法
引入
import { fetchUrlMeta } from "@jsenv/url-meta"
调用 fetchUrlMeta 函数
const url = "https://www.baidu.com" const options = { charset: "utf8" } const meta = await fetchUrlMeta(url, options)
配置项
fetchUrlMeta 函数可接收两个参数,第一个是 URL,第二个是可选的配置项对象。下面是可用的配置项:
- charset:文字编码,默认为 "utf8"
- requestTimeLimit:请求超时时间,默认为 5000 毫秒
- titleSelector:标题选择器,默认为
'meta[property="og:title"]'
- descriptionSelector:描述选择器,默认为
'meta[property="og:description"], meta[name="description"]'
- imageSelector:图像选择器,默认为
'meta[property="og:image"]'
接口返回值
调用 fetchUrlMeta 函数后,会得到一个包含元数据的对象。下面是其中一些常用的元数据属性:
- title:网页标题
- description:网页描述
- image:网页图像
- url:原始 URL
示例代码
以下是一个使用 @jsenv/url-meta 的示例代码:
-- -------------------- ---- ------- --------- ----- ------ ------ ---------- ------------- ------- -------------- ------ - ------------ - ---- ----------------- ----- -------- --------------- - ----- ------------ - ------------------------------------ ----- --- - ------------------ ----- ---- - ----- ----------------- ----- ------------ - ---------------------------------------- ------------------------ - ---------- ----- ------------------ - ---------------------------------------------- ------------------------------ - ---------------- ----- ------------ - ---------------------------------------- ---------------- - ---------- ---------------- - ---------- - ------------------------------- ---------- - ----- ------------ - ------------------------------------ -------------------------------------- -------------- -------------------- -- --------- ------- ------ ------ ------------------------------ ------ ---------- --------------- ---- ------------- ---- ------------------ ------ ------- --- ------------------------ -- ----------------------------- ------ ------- -------
总结
@jsenv/url-meta 是一个方便的 JavaScript 库,用于获取 URL 元数据,可以大大简化开发人员的工作。通过深入学习和使用此库,可以更加高效地构建 URL 分享预览功能。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f29ed243b0ab45f74a8babc