从javascript获取和从node.js获取节点,有啥区别[关闭]
Posted
技术标签:
【中文标题】从javascript获取和从node.js获取节点,有啥区别[关闭]【英文标题】:fetch from javascript and node-fetch from node.js, what are the differences [closed]从javascript获取和从node.js获取节点,有什么区别[关闭] 【发布时间】:2021-10-29 03:28:10 【问题描述】:我最近在 udemy 上学习如何编码,但遇到了一个问题。当我们获取 api 时,我们可以从浏览器获取,也可以从 node.js 使用 node-fetch。我想知道它们之间有什么区别。我们可以不通过web服务器直接从外部服务器获取api吗?如果可以,我们应该从node.js获取数据吗?
【问题讨论】:
请提供足够的代码,以便其他人更好地理解或重现问题。 请返回并与答案互动。我们希望您能accept the answer you chose as useful 【参考方案1】:Node.js 默认不附带 fetch 库。 Fetch API 只存在于 webbrowsers 下的 window.fetch。 Node-fetch 只是一个包含这个 webbrowser fetch 的轻量级库。
也就是说在 Node.js 中安装和使用 fetch 使用以下命令:
npm i node-fetch
然后导入它使用
import fetch from 'node-fetch';
查看node-fetch的官方npm包。
Fetch API 非常基础。如果您必须在 Node.js 应用程序中使用 Http 请求,我建议您使用 axios。
【讨论】:
好的,我也会尝试使用 axios。非常感谢 没问题,如果您对答案感到满意,请考虑接受!【参考方案2】:我们可以尝试从浏览器获取外部 API。如果端点不希望您从浏览器访问他们的 API,这可能会导致 Cross Origin Resource Sharing (CORS) 错误
然后您可以编写一个从服务器访问外部 API 的代理,无论 CORS 设置如何,都将允许该代理
因此,从 NODE 访问 API 将始终有效(假设不需要身份验证)并且从浏览器获取可能会或可能不会直接工作。
注意:node-fetch 不是 node 原生的
【讨论】:
非常感谢您的回复,这对我帮助很大。这就是我想要的确切答案。以上是关于从javascript获取和从node.js获取节点,有啥区别[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Solana - 如何从 JavaScript / Node.js 中的本地密钥对获取帐户?
获取javascript时Node.js HTML页面错误404