node.js服务分解
2014-08-13来源:

上一篇文章描述了一下基本的node服务配置安装,下面对一个node javascript服务进行分解,并分析。首先说一下,上篇文章中安装的node,是一个javascript服务器运行环境。其封装了javascript写的包.node没有监听服务器端口,而实际是通过,建立一个server.js监听文件,用node进行运行,监听对应的端口,并执行相关操作。然后说一下,上次运行的代码:var http = require("http");//引入http请求模块,以后还会有url模块等 http.createServer(function(request, response) {  response.writeHead(200, {"Content-Type": "text/plain"});  response.write("Hello World");  response.end(); }).listen(9999);//将句柄进行端口9999监听,并执行匿名函数,函数的参数为request和response转换一下:var http = require("http");function listen(request.response){ response.writeHead(200,{"Content-Type":"text/plain"});//函数发送一个HTTP状态200和HTTP头的内容类型(content-type), response.write("Hello World");//使用 response.write() 函数在HTTP相应主体中发送文本“Hello World"。 response.end();}http.createServer(listen).listen(9999);//创建监听服务,以及监听处理函数

当运行node server.js后,node主动监听9999端口,当请求来时,则会调用listen函数。这里可以将我们server.js理解为一个等待请求服务的程

序。

如何将server.js 当做一个模块去引入,就像php引入公共文件一样呢?将上面的代码封装到一个函数 var http = require("http");function servername(){  function listen(request.response){  response.writeHead(200,{"Content-Type":"text/plain"});//函数发送一个HTTP状态200和HTTP头的内容类型( content-type),  response.write("Hello World");//使用 response.write() 函数在HTTP相应主体中发送文本“Hello World"。  response.write("server Caller");  response.end(); } http.createServer(listen).listen(9999);//创建监听服务,以及监听处理函数}exports.start = servername;//对外接口为servername函数在同级文件夹 建立一个index.js文件,内容为:var server = require("./server")server.start();保存index.js文件然后运行 node index.js 这时候你再次访问9999端口,你也会看到helloworld,并且看到是server Caller.

这就是基本的node运行,并且通过js文件来定义自定义的服务模块。

更多信息请查看IT技术专栏

推荐信息
Baidu
map