@astrojs/webapi

中文文档
3.0.0发布于 2023/07/28MITTypeScriptES Module近 30 天下载 9.7万

在节点使用 Web API

此软件包已被标记为弃用

This package is not used by Astro any more and is no longer maintained. In Astro 3.0 polyfills are part of a core module.

中文使用文档
文档目录4 节
  1. 特征
  2. 使用量
  3. 多填充选项
  4. 许可证归属( A)

网络API

网络API 让您使用节点 v16 中未存在的 Web API .

npm install @astrojs/webapi
import { polyfill } from '@astrojs/webapi'

polyfill(globalThis)

const t = new EventTarget()
const e = new CustomEvent('hello')

t.addEventListener('hello', console.log)

t.dispatchEvent(e) // logs `e` event from `t`

这些API由受欢迎的开源项目组合而成,并配置以共享执行细节. 这使得他们的行为能够与浏览器的期望相匹配并减少他们合并的内存足迹.

特征

使用量

您可以使用 WebAPI 作为单项导出 .

import { Event, EventTarget, File, fetch, Response } from '@astrojs/webapi'

您可以将 WebAPI 应用到对象上, 如 globalThis。 。 。 .

import { polyfill } from '@astrojs/webapi'

polyfill(globalThis)

多填充选项

这个 exclude 选项获得一份WebAPI列表,以排除多填充.

polyfill(globalThis, {
    // disables polyfills for setTimeout clearTimeout
    exclude: 'setTimeout clearTimeout',
})

这个 exclude 选项可接受简写来排除多个多填充。 这些快手以加号结束(+) (中文(简体) ).

polyfill(globalThis, {
    // disables polyfills for setTimeout clearTimeout
    exclude: 'Timeout+',
})
polyfill(globalThis, {
    // disables polyfills for Node, Window, Document, HTMLElement, etc.
    exclude: 'Node+',
})
polyfill(globalThis, {
    // disables polyfills for Event, EventTarget, Node, Window, Document, HTMLElement, etc.
    exclude: 'Event+',
})
简写不包括
Document+Document, (中文(简体) ), HTMLDocument
Element+Element,和排除 HTMLElement+
Event+Event, (中文(简体) ), CustomEvent, (中文(简体) ), EventTarget, (中文(简体) ), MediaQueryList, (中文(简体) ), Window,和排除 Node+
EventTarget+Event, (中文(简体) ), CustomEvent, (中文(简体) ), EventTarget, (中文(简体) ), MediaQueryList, (中文(简体) ), Window,和排除 Node+
HTMLElement+CustomElementsRegistry, (中文(简体) ), HTMLElement, (中文(简体) ), HTMLBodyElement, (中文(简体) ), HTMLCanvasElement, (中文(简体) ), HTMLDivElement, (中文(简体) ), HTMLHeadElement, (中文(简体) ), HTMLHtmlElement, (中文(简体) ), HTMLImageElement, (中文(简体) ), HTMLStyleElement, (中文(简体) ), HTMLTemplateElement, (中文(简体) ), HTMLUnknownElement, (中文(简体) ), Image
Node+Node, (中文(简体) ), DocumentFragment, (中文(简体) ), ShadowRoot, (中文(简体) ), Document, (中文(简体) ), HTMLDocument,和排除 Element+
StyleSheet+StyleSheet, (中文(简体) ), CSSStyleSheet

许可证归属( A)

谢谢你为Jon Neal写了原作 网络api 工程,此软件包来自该软件包。 根据CC0-1.0许可证颁发.

代码从 事件目标 根据麻省理工学院的许可, 长岛同仁版权.

版本与发布记录

@astrojs/webapi 共发布 23 个版本,首次发布于 2022/03/08;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.0.0latest2023/07/283 年前
2.2.02023/05/313 年前
2.1.12023/05/013 年前
2.1.02023/03/083 年前
0.0.0-experimental-assets-20230307131344next--experimental-assets2023/03/073 年前
0.0.0-cloudcannon-fix-20230306211609next--cloudcannon-fix2023/03/073 年前

其他发布通道:beta → 2.0.0-beta.1,next--check-watch → 0.0.0-check-watch-20230303211357,next--cloudcannon-fix → 0.0.0-cloudcannon-fix-20230306211609,next--experimental-assets → 0.0.0-experimental-assets-20230307131344。

关于 @astrojs/webapi 的常见问题

@astrojs/webapi 是什么?

在节点使用 Web API注意:该包已被作者标记为弃用——This package is not used by Astro any more and is no longer maintained. In Astro 3.0 polyfills are part of a core module.

如何安装 @astrojs/webapi?

在项目目录运行 npm install @astrojs/webapi,或使用 pnpm add / yarn add / bun add。

@astrojs/webapi 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@astrojs/webapi 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@astrojs/webapi 可以商用吗?

@astrojs/webapi 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@astrojs/webapi 的下载量有多少?

根据 npm 官方下载统计,@astrojs/webapi 在 2026/10/07 – 2026/11/05 这 30 天内被下载 97,358 次,日均约 3,245 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@astrojs/webapi 还在维护吗?

最新版本 3.0.0 发布于 2023/07/28(3 年前);至今共发布 23 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/03/08。作者已将其标记为弃用,新项目建议寻找替代方案。