gpt4 book ai didi

javascript - node.js 在 Web 开发环境中的位置在哪里?

转载 作者:可可西里 更新时间:2023-11-01 18:21:22 27 4
gpt4 key购买 nike

我知道 node.js 据说是 “事件驱动的 I/O” 托管在 V8 Javascript 引擎 上的服务器端 javascript。我访问了 node.js 网站,然后阅读了维基百科条目,但无法完全了解在何处使用它以及它将如何发挥作用。 “事件驱动 I-O”? “V8 Javascript 引擎”? 虽然在某些情况下,我认为使用“服务器端”javascript 有点矫枉过正。我以 wikipedia entry of node.js 中的这段代码为例。 :

var http = require('http');

http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8000);

console.log('Server running at http://127.0.0.1:8000/');

我一直在想,运行一个专门为在应用程序前端部分执行的 javascript 文件提供服务的服务器是否真的有重要意义?

我还在 github 中 fork 了 node.js 存储库以了解更多关于它是如何工作的,结果发现它的一些模块是用 C++ 编写的。那么它毕竟不是 javascript 吗?

有人能给我一个清楚的解释吗?对不起,如果问题不清楚或什么的,我只是一个初学者。将不胜感激任何输入/建议。谢谢

最佳答案

简单来说,node.js 服务器是 Apache 网络服务器之类的替代品 - 但它主要是用在服务器上运行的 JavaScript 编写的(由 V8 引擎执行)而不是在客户端。它可以通过包裹在 JavaScript 接口(interface)中的“ native 代码”模块(例如用 C++ 编写)进行扩展以添加功能,但据我所知,大多数 node.js 模块都是纯 JavaScript。

“事件驱动的 I/O”只是一个术语,用于描述您在 JavaScript 中习惯使用的普通异步回调机制。在 node.js 中,您为各种事情提供回调,并且当相关事件发生时调用您的函数。

根据您添加的模块数量,node.js 服务器与 Apache 等服务器相比相对轻量级,并且在某些方面更简单。

我看到的 node.js 的两个主要优点是:

  1. 它允许您使用相同的语言编写网络应用程序的服务器端和客户端部分。在某些情况下,您可以在两侧使用相同的代码。
  2. 它使所有了解 JavaScript 的 Web 开发人员都可以访问服务器端编码,而无需学习更常见的服务器端语言(如 PHP 或 Java)。

这是我刚刚看到的一篇文章,它也可能会提供一些启示:What is Node.js?

关于javascript - node.js 在 Web 开发环境中的位置在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6632606/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com