上一篇文章描述了一下基本的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技术专栏