经典的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次;我有几十个网站在运行它... ...我很困惑,道歉。
答案 0 :(得分:0)
当浏览器连接到端口8124时,不会重新评估该文件。节点不像Apache + PHP类型的环境那样运行,其中页面加载通常意味着为每个请求解析和执行脚本(并且PHP进程是然后在请求结束后被杀死。)
在此方案中使用节点,脚本将被解析一次并在后台继续运行,但(请求处理函数)会多次执行。