【问题标题】:Nodejs API vs JavaScript Web APIs InterfacesNodejs API 与 JavaScript Web API 接口
【发布时间】:2016-11-16 22:44:51
【问题描述】:

一直在四处寻找答案或讨论,我知道为什么要创建nodejs。它将JS从浏览器中取出,使其能够成为与文件,IO等系统资源交互的主流语言和网络运营。 如果我们研究 JavaScript Web API,他们不会做与 Nodejs 相同的事情。 假设我们在 Nodejs 中有 fs 模块来与文件交互,并且我们有一个 Web api interface 。 我们有很多 API 接口,比如读取蓝牙或系统电池等。 我不知道我们是否可以在 Web API 中进行 IO 或发出网络请求。 那么 Nodejs 与这些 Web API 到底有什么不同呢。

JavaScript Complete APIS MDN 上的页面。

谢谢。

【问题讨论】:

  • "它把 JS 带出浏览器" - 你错了。服务器上的 JavaScript 早于 Node.js,而 JavaScript 从一开始就被设计为主流语言。只是用V8做引擎才有了竞争力,node变得相当流行。
  • 感谢您的评论。请在 Nodejs 之前详细说明服务器上的 JavaScript。
  • 是的,但是没有人像任何实现一样在服务器上使用它,或者也许我不知道。当 Nodejs 出现时,每个人都开始在服务器上使用 JS?我们只能将 JavaScript 视为浏览器语言和 Window 对象。

标签: javascript node.js asp.net-web-api


【解决方案1】:

你提到:

我们有一个[在浏览器中读取文件]的Web api接口

小心这个说法。浏览器中的 JavaScript 不能随意直接访问您的文件系统(用户必须肯定地允许浏览器使用特定文件,例如,通过选择带有 input 元素的文件)。但是,使用 node.js,您可以直接访问文件系统(例如,使用 fs 模块)。

如果我们研究 JavaScript Web API,他们做的事情和 Nodejs 不一样

这是一个经典的“维恩图”可视化。当然,浏览器中的 JavaScript 和 node.js 有很多相交的地方,因为它们是同一种语言。

以下是一些差异的列表(并且它并非包罗万象):

  1. 您可以使用 node.js 运行服务器(祝您在浏览器中运行服务器好运)
  2. 您可以直接使用 node.js 访问文件系统(不能在浏览器中这样做)
  3. 您可以使用 node.js 生成多个进程
  4. 浏览器中的 JavaScript 有一个名为 web workers 的功能,例如(在 node.js 中没有使用)

这就是我能想到的全部,但总而言之,node.js 允许您在机器上运行代码,就像运行 Python、Java、Ruby、等等

【讨论】:

  • 这很有帮助。当然,您需要允许浏览器访问该文件。是的,并非所有浏览器都支持这些 Web API。
  • 感谢您的回复。 :) 我只是想知道人们对这两个的看法。
  • @CKKhan 没问题!很高兴你发现它有帮助
猜你喜欢
  • 2014-03-16
  • 2018-06-19
  • 2012-03-18
  • 2012-02-06
  • 2017-01-13
  • 1970-01-01
  • 2022-08-08
  • 1970-01-01
  • 2014-12-11
相关资源
最近更新 更多