Ian*_*ith 19 node.js npm reactjs
这些包名称非常令人困惑,它们似乎做了同样的事情,但“fetch”看起来已被放弃,但没有标记为已弃用(最后一次提交是在 3 年前)。从下载计数来看,人们可能在应该获得受支持和维护的“node-fetch”包时下载“fetch”。
如果您正在构建 Reactjs 应用程序,那么 fetch 是否已内置?如果是这样,它与“node-fetch”不同吗?
建议 npm 用户应该使用什么包?
Mic*_*ski 29
Fetch是由 Web 超文本应用技术工作组 (WHATWG) 于 2015 年创建的标准。它的目的是取代旧的、笨重的XMLHttpRequest发出网络请求的方式。由于它的目的是取代XMLHttpRequest该标准,显然是针对浏览器而不是 Node 运行时,但是由于它的广泛采用和交叉兼容性原因,我们决定它也应该在 Node 中实现。
尽管如此,Node 团队花了大约 3 年的时间在 Node v16 中实现了实验性的 fetch 。尽管仍处于实验阶段,但它现在在Node v18中默认启用。
由于 Node 开发团队花了很长时间才实现 Fetch 标准,因此社区自己动手并创建了实现 Fetch 标准的node-fetch包。
您提到的fetch包只是巧合地与标准命名相同,但除了它们都旨在从网络“获取”/“请求”资源之外,它与标准无关。
过去浏览器使用XMLHttpRequestAPI,而 Node 使用自己的http.request. 现在,我们有机会通过让这两个生态系统都使用 Fetch API 来拉近它们的距离。这增加了代码的互操作性,甚至在某些情况下允许浏览器和 Node 之间的代码共享。
现在,还有其他流行的软件包,例如axios或 ,requests它们仍然不使用 Fetch,而是继续使用 Node 的http库。不使用 Fetch 会降低相互兼容性,因此我认为您不应该继续使用它们中的任何一个,除非它们进行转换,而这在不久的将来是不可能的。
相反,您应该考虑使用 Node 的 nativefetch或node-fetchpackage 。哪一个呢?嗯,我的观点是 Nodefetch仍处于早期阶段,但鉴于它得到了核心 Node 团队的支持,我对此打赌。我认为node-fetch该标准得到了更广泛的采用Fetch,但我认为随着时间的推移,随着 Node 的本机fetch得到完全实现,它将会变得多余。
| 归档时间: |
|
| 查看次数: |
11544 次 |
| 最近记录: |