node.js实现背后的基本思想?

时间:2013-03-23 13:31:58

标签: javascript node.js server-side

这是我目前关于node.js如何工作的理论:

  1. 我在我的服务器上安装了node.js,以便它可以解释javascript文件。
  2. 然后我写了我的javascript文件并将它们放在我的服务器上(就像我使用PHP文件一样)。
  3. 然后我通过客户端javascript与这些文件进行交互。
  4. 显然我出了点问题,因为我一直在寻找过去一小时左右的教程,它将教会我如何在我的服务器上安装它 - 但他们似乎都专注于在本地安装它。

    有人可以给出关于最终实施将如何运作的点数简介吗?

2 个答案:

答案 0 :(得分:2)

您可以像在任何其他计算机上一样在“服务器”上安装它 - 通过installerpackage manager进行管理员/ root访问。

现在,假设“服务器”,你指的是一台计算机。相反,如果您指的是现有的“服务器应用程序”,例如Apache或IIS - Node.js不直接与这些集成。它主要替换它们,允许您从较低级别定义整个服务器应用程序作为脚本。

可以在project's homepage上找到这样的脚本:

  

这个用Node编写的简单Web服务器响应“Hello World”   每一个请求。

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
     

要运行服务器,请将代码放入文件example.js并使用命令行中的node程序执行它:

% node example.js
Server running at http://127.0.0.1:1337/

除了这个示例,您还需要检查req.methodreq.url,通常是通过routerweb framework来确定如何回复。 expresscompoundjs是开始的好选择。

您仍然可以将其他服务器应用程序用作Node.js的HTTP代理,并传递流量。但Node.js仍将单独运行。如果您使用的是IIS,那么甚至iisnode涵盖了大部分设置。

答案 1 :(得分:0)

Node.js是一个服务器端JavaScript引擎,它使您能够使用JavaScript语言构建Web服务器。它与Apache上的PHP和IIS上的C#类似。有一点不同的是,Node.js是基于事件的,它不像C#IIS那样创建许多线程。因此,Node.js具有处理高并发请求的潜力。对于Node.js教程,您可以参考Node.js网站:http://nodejs.org/api/

  

然后我通过客户端javascript与这些文件进行交互。

我不同意这一点,因为Node.js只是创建一个Web服务器,服务器和客户端之间的任何交互都是基于HTTP的,这意味着Node.js Web服务器会响应客户端的请求。