网站制作学习网JS脚本→正文:node.js服务分解
字体:

node.js服务分解

JS脚本 2012/6/14 19:00:33  点击:不统计

http://%77%77%77%2E%66网站制作%6F学习网%72%61%73%70%2E%63%6E

上一篇文章描述了一下基本的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文件来定义自定义的服务模块。


forasp.cn

·上一篇:node.js javascript开发 >>    ·下一篇:node路径参数获取 >>
推荐文章
最新文章