• Node.js连接webSocket
  • 发布于 2个月前
  • 262 热度
    0 评论
Node.js是一个JavaScript允许环境,是运行在服务器端的JavaScript。我们知道在进行前端开发时,可以使用JavaScript来操作DOM,通过AJAX与服务器端进行交互获取内容,如果一个页面的JS渲染过多,会拖累页面的效率和性能。是不是也可以将这部分数据交互功能单独组织分离开来呢?这就是Node.js可以做的事情,让nodejs来负责与持久层数据进行交互,同时搭建restful风格的api接口给前端。也可以看成Node.js是基于JavaScript语言开发的一个服务端框架。

一 .Node.js使用入门
入门Node.js非常简单,如果对JavaScript比较熟悉的话。
(1)通过required命令引入所需要的第三方模块
像搭建web服务需要http模块,就可以引入该模块。
var http = require("http");          #引入http模块
与python一样,有许多基于js开发的第三方开源模块可以直接拿来使用,这些模块都集中托管到一个repository仓库中,使用的时候可以先下载到本地,然后开始应用。有些模块是安装nodejs时自动就一起下载安装到本地机器上了,例如上述的http模块,而有些模块则还需要使用nodejs提供的npm包管理工具来下载安装。

在nodejs中,包管理工具命令为npm,因此如果要安装某个第三方js模块,就直接使用npm install packagename下载下来。这些过程如果熟悉python,应该很快就能理解。npm服务器由于是在国外,因此一般下载时速度都稍微显得慢一些。此时可以使用国内淘宝镜像,只需要通过如下设置:
npm install -g cnpm --registry=https://registry.npm.taobao.org
然后使用cnpm install命令来安装模块,速度就很快了。

(2)使用http对象来创建服务器
上述导入模块执行后返回一个http实例,接下来就可以使用http对象的createServer方法来创建服务器,其使用格式如下:
#创建一个web服务,web服务包括请求request和响应response两部分主体。
var server = http.createServer(function(request,response){
             #设置响应头,包括状态码200,和内容类型
             response.writeHead(200,{'Content-Type':'text/plain'}); 
             #发送响应数据
             response.end("Hello, world!")  
})
然后执行该web服务server对象的listen方法,设置访问端口:
server.listen(3000)  #设置端口号
如果要设置公网访问,则可以在上述的listen方法添加:
server.listen(3000,'0.0.0.0')    #添加公网IP地址访问
我们再把上述过程代码整理一下,并保存成一个名为server.js的文件:
/* 引入模块*/
var http = require('http')
var port = 3000

/* 创建web服务  */
var server = http.createServer(function(req,res){
res.writeHead(200,{'Content-type':'text/plain'})
res.end('hello, world')
})

/* 监听方法 */
server.listen(port,function(){
console.log('我的nodejs服务启动了,地址为127.0.0.1:'+port)
})
(3)使用node命令执行上述server.js,就可以成功创建第一个nodejs应用:

打开浏览器,输入127.0.0.1:3000,如下效果:


此时你可以尝试将代码中的hello,world修改为其他文本,可以得到同样的输出效果。

用户评论