对node.js的定义感到困惑

时间:2020-01-02 11:31:45

标签: node.js server runtime

我是Web开发和网络的新手,我想知道是否有人可以帮助我清除一些定义。

根据我的教授给出的定义:“ Node.js是一个运行时,它为特定环境提供自定义工具和库。它基本上是在服务器上运行的JavaScript”。

确切的环境是什么?是网络服务器吗?但是我们不是从一开始就使用node.js构建服务器吗?

另外,通过说在服务器上运行,他的意思是:“在您正在使用的计算机上运行”?就像能够在不使用浏览器的情况下运行javascript一样?

4 个答案:

答案 0 :(得分:0)

Node.js是node.javascript。它缩短了优雅的时间。它确实是一个运行时,但不仅适用于Web服务器。以不和谐为例,他们使用它来创建用于创建机器人的运行时,主要脚本称为“ Discord.js”或“ Discord.javascript”。它可能意味着很多不同的东西,但最终还是一种编程语言。

答案 1 :(得分:0)

JavaScript是一种即时编译语言,这意味着它需要运行时环境才能编译和执行代码。所有现代浏览器默认都内置有V8编译器,node.js只是一个没有浏览器的v8运行时环境。因此,基本上,node.js(或deno.js)就是您无需浏览器即可执行JavaScript代码的方式

答案 2 :(得分:0)

我们不要让它变得如此复杂,在软件工程的上下文中,运行时环境只是一个软件需要运行的环境。

例如,您可能在 Google 上搜索了GTA-V 的 PC 要求,然后您找到了以下答案:

最低系统要求:

  • 操作系统:Windows 8.1 64 位、Windows 8 64 位、Windows 7 64 位 Service Pack 1
  • 处理器:Intel Core 2 Quad CPU Q6600 @ 2.40GHz(4 个 CPU)/AMD Phenom 9850 四核处理器(4 个 CPU)@ 2.5GHz
  • 内存:4GB
  • 显卡:NVIDIA 9800 GT 1GB / AMD HD 4870 1GB(DX 10、10.1、11)
  • 声卡:100% 兼容 DirectX 10
  • 硬盘空间:65GB

这些是什么?这些是您运行 GTA-V 所需的环境变量,另一种说法是:

这是 GTA-V 的 runtime environment

因此,当您说 Node.js 是 JavaScript 运行时环境时,您只是指 Node.js 提供 everything(从软件角度)以在硬件(移动设备、笔记本电脑等)上运行 JavaScript 代码。该 everything 包括与该特定硬件的操作系统的接口。

<块引用>

注意:以下两种说法都是正确的:

  • Node.js 是 JavaScript 运行时环境 (RTE)。
  • Node.js 和安装了 Node.js 的操作系统构成​​了 JavaScript 的运行时环境。

技术方面

运行时环境,主要实现部分执行模型。

execution model 指定语言元素的 behavior。通过应用执行模型,人们可以推导出用该编程语言编写的程序的行为。

好的,我知道 console.log("Hi")hi 上向我展示了 console,但是该特定字符串 (console.log) 的 behaviour 是如何实现的?
部分或全部 underlying steps between 执行代码和记录输出构成 runtime environment

答案 3 :(得分:-1)

Node.js是JavaScript运行时环境。 Node.js运行时环境包括执行用JavaScript编写的程序所需的一切。 当JavaScript的原始开发者将它从只能在浏览器中运行的内容扩展到可以作为独立应用程序在计算机上运行的内容时,Node.js应运而生。

现在,使用JavaScript不仅可以使网站具有交互性,还可以做更多的事情。

JavaScript现在具有执行其他脚本语言(如Python)可以执行的功能的能力。

您的浏览器JavaScript和Node.js都在V8 JavaScript运行时引擎上运行。该引擎将您的JavaScript代码转换为更快的机器代码。机器代码是计算机可以运行的低级代码,无需先对其进行解释。

src =“ https://www.freecodecamp.org/news/what-exactly-is-node-js-ae36e97449f5/”