千锋教育-做有情怀、有良心、有品质的IT职业教育机构

400-811-9990
当前位置:千锋视频教程 >  html5视频教程  >  HTML5入门学习之Node.js使用方法介绍

HTML5入门学习之Node.js使用方法介绍

时间:2018-08-01 14:35     来源:千锋教育 作者:千锋HTML5

  一、首先我们要了解什么是node.js?

  官方解释是:node.js是一个基于Chromev8引擎的javascript运行环境。Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效。他是由c++编写的所以速度很快。

  简单来说就是一个js的运行环境,所以他开发用的语言是js语言,通过node去编译你的js文件。

  二、node.js的安装

  1)npmi-g全局(电脑只需安装一次)

  2)npmi--save-dev/-D/(局部项目依赖)

  3)制定版本npmiwebpack@3.6.0(@后面跟版本号如@3表示安装的是@后方跟的数字的最大的版本)

  Node的特点:是比较块因为是由c++编写的,但是的话有一个缺点就是内耗比较多。据网上一个百万级并发测试,未优化的情况下1M的链接消耗了16G内存!这点就很惊人了,但是他的一些有点也是有目共睹的。他不单单可以辅助前端开发同时也可以代替后台开发。

  但是虽然优点这么多但是由于node是一种小型的后端语言,比较新所以相对的会的人也比较少。

  三、服务器的搭建

  建立一个服务器的话首先你要导入node.js提供的内置模块,然后定义一个主机名,之后再给个端口号。建立情况如下

  --------------------------------------------------------------------------------

  consthttp=require('http')//导入node.js提供的内置模块(原生模块)

  consthostname=‘127.0.0.1’;//定义一个主机名

  constport=3000;//给个端口

  http.createServer((req,res)=>{

  //头部信息

  res.setHeader(''content-type,'text/html;charset=utf-8')

  //状态码

  res.statusCode=200;

  //过滤队ico的请求

  if(req.url!='/favicon.ico'){

  res.write('hellonodejs');//node里面写入的类型都是字符串类型直接解析字符串类型的数据

  //结束响应标示

  res.end();//只是作为一个响应关闭的标示一般不写数据写的话可以通过res.write来写

  }

  //监听listen有三个参数端口号主机名还有一个回调函数回调函数里面你可以写上你想要在页面里面展示的东西

  }).listen(port,hostname,()=>{

  console.log('服务已经启动:http://${hostname}:${port}')

  })

  --------------------------------------------------------------------------------

  上面的方法是比较详细的情况,当然我们也可以通过一些更简洁的方法也建立服务器,主机名这里是默认的可以省略。端口号在下面监听的时候可以直接写出来所以开始的时候也是不需要写出来的

  然后就是头部部分头部部分我们可以直接吧端口号以及他的格式全部写出来不过这个时候要用res.writeHead(200,{'content-type':'text/html;charset=utf-8'})

  当然如果仅仅是这样写等你运行的时候还是会报错的那就是跨域问题这时候你需要把跨域出现的这种情况

1

  里面的Access-Control-Allow-Origin给添加到我们的头部信息里面如下

2

  这样就可以解决我们的跨域问题了!

  那么现在引申一个问题。什么情况下才会触发跨域问题呢?

  协议、域名、端口号有任何一个问题都会出现跨域问题!

  四、数据的发送

  举个例子,我们建立一个html建立一个输入框一个发送按钮然后给这个添加一个点击事件如下:

3

  我们先绑定一个点击事件,然后用ajax发送输入框里面的信息给后端服务器,在这里post为发送路径不变要带上协议地址,然后把发送的内容以对象的形式发送过去。然后是后端的书写如下:

4

5

  接收数据时,要用请求对象接收过来,也就是req,请求对象有个on方法,on方法里面要绑定一个data事件。来接收我们的事件。然后第二个参数是一个回调函数,这个参数就使我们接收过来的数据然后打印出来。但是的话打印出来之后出现的并不是我们想要的信息,如下:

6

  这是Buffer数据,我们可以用tostring()给他强制转换成字符串如下:

7

  好了。我们得到了我们想要得到的信息,现在我们所有的数据都接收过来这些做完了之后,你会发现在你做的过程中,每次更改代码,你都需要重新重启一下服务器,才可以正常进行你的工作。所以下面交大家一个小小的方法也就是自动监听nodesupervisor这样就可以不用执行node自动监听。

  如果你想参加千锋HTML5前端培训班,那么就来报名吧。这里有专业老师带你,最多半年的时间让你完美蜕变。拿高薪不再是问题,命运掌握在自己的手里,想要什么样的人生就看你自己的选择了!千锋还推出免费的HTML5视频教程,帮助零基础的学员快速学习。

  • 北京天丰利校区(总部)地址:北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术学院广场服务楼2、3层
    咨询电话:400-811-9990
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 深圳西部硅谷校区地址:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619
    深圳大学城校区地址:深圳市南山区留仙大道1201号大学城创客小镇16栋3楼
    咨询电话: 0755-23015275/23015546-801(硅谷) 0755-86660670-801(大学城)
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 上海校区地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-811-9990 021-65233829-609
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 郑州校区地址:郑州市二七区航海中路60号海为科技园C区10层、12层
    咨询电话:0371-55191750
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 广州校区地址:广州市天河区元岗路200号慧通产业园B9三层
    咨询电话:020-38035223 020-38035220
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 大连校区地址:辽宁省大连市高新园区爱贤街10号大连设计城A座901
    咨询电话:400-811-9990
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 武汉金融港校区地址:武汉市东湖高新技术开发区光谷大道77号金融港B18栋3楼
    武汉智慧园校区地址:武汉市东湖高新技术开发区光谷大道61号智慧园21栋2楼
    咨询电话:027-59313371
    面授课程:HTML5大前端培训、全链路UI/UE设计培训、PHP全栈+服务器集群培训、JavaEE+分布式开发培训、大数据+人工智能培训、 Unity游戏开发培训、360网络安全、Python培训、云计算+信息安全培训、全栈软件测试培训、智能物联网+嵌入式培训
  • 成都校区地址:成都市武侯区科华北路62号力宝大厦N(北楼)18楼
    咨询电话:400-811-9990 028-83178771
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 西安校区地址:西安市雁塔区高新六路52号立人科技C座西区4楼
    咨询电话:029-85363390
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 杭州旺田校区:浙江省杭州市江干区九堡旺田书画城A座4层
    杭州龙驰校区:浙江省杭州市下沙经济技术开发区元成路199号龙驰智慧谷B座7层
    咨询电话:400-811-9990 0571-86893632/0571-86094032
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 青岛校区地址:青岛市市北区龙城路卓越世纪中心3号楼8层801
    咨询电话:0532-80911190
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 重庆校区地址:重庆市高新区科园一路2号大西洋国际12-1
    咨询电话:400-811-9990 023-68883009
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 长沙校区地址:湖南省长沙市岳麓区麓谷企业广场A2栋三单元306号
    咨询电话:0731-85513210
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 哈尔滨校区地址:哈尔滨市松北区创新一路699号 科技创新城19号楼B座五楼
    咨询电话:400-811-9990/0451-87173191
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 南京校区地址:南京市建邺区应天大街780号应天智汇产业园弘辉园1幢2楼
    咨询电话:400-811-9990
    面授课程:HTML5大前端培训、JavaEE+分布式开发培训、Python全栈+人工智能培训、全链路UI/UE设计培训、物联网+嵌入式培训、360网络安全、大数据+人工智能培训、全栈软件测试培训、PHP全栈+服务器集群培训、云计算+信息安全培训、Unity游戏开发培训、区块链、红帽RHCE认证、好程序员
  • 千锋教育服务号

    了解千锋动态
    关注千锋教育服务号

  • 千锋教育移动站

    扫一扫快速进入
    千锋移动端页面

  • 千锋互联服务号

    扫码匿名提建议
    直达CEO信箱