为什么一个文件会做这么多无关的事情?

时间:2016-02-25 01:22:36

标签: node.js

经典的nodejs hello_world.js脚本如下所示:

const http = require('http');

var s = http.createServer( function(request, response) 
                             { response.writeHead(200, {'Content-Type': 'text/plain'});
                               response.end('<html>Hello World</html>');
                             }
                         ) ;
s.listen(8124);

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

该文件保存在计算机上的some_random_directory中。

1st - 通过基于操作系统的命令行实用程序处理该文件:     C:\some_random_directory>node hello_world.js和硬编码的响应是“服务器运行在...&#39;这意味着(对我而言)服务器正在运行。

......但是......

第二次 - 再次处理相同的文件,但是通过网络浏览器......该代码是否再次运行?

第三次 - html输出到浏览器

为什么一个文件会以这么多不同的方式使用?并不是我的目标是创建一个网站,而不是一个服务器(我的apache服务器已经运行了十年不停,而且我只搞乱了4到5次;我有几十个网站在运行它... ...我很困惑,道歉。

1 个答案:

答案 0 :(得分:0)

当浏览器连接到端口8124时,不会重新评估该文件。节点不像Apache + PHP类型的环境那样运行,其中页面加载通常意味着为每个请求解析和执行脚本(并且PHP进程是然后在请求结束后被杀死。)

在此方案中使用节点,脚本将被解析一次并在后台继续运行,但(请求处理函数)会多次执行。