web前端课程技术总结Node.js 使用方法及相关方法分析

Posted qianfeng123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web前端课程技术总结Node.js 使用方法及相关方法分析相关的知识,希望对你有一定的参考价值。

Node.js 使用方法及相关方法分析

 

技术分享图片

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

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

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

node.js 的安装

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

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

3)制定版本 npm i [email protected] (@后面跟版本号 如@3表示安装的是@后方跟的数字的最大的版本)

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

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

服务器的搭建

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

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

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

const hostname = ‘127.0.0.1‘;//定义一个主机名

const port = 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(‘hello nodejs‘); //node里面写入的类型都是字符串类型 直接解析字符串类型的数据

//结束响应标示

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

}

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

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

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

})

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

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

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

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

技术分享图片
 

 

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

技术分享图片
 

 

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

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

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

数据的发送

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

技术分享图片
 

 

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

技术分享图片
 

 

技术分享图片
 

 

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

技术分享图片
 

 

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

技术分享图片
 

 

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

上面是node.js 的一些简单的学习。学海无涯,且学且珍惜!

以上是关于web前端课程技术总结Node.js 使用方法及相关方法分析的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 从零开发 web server博客项目 前端晋升全栈工程师必备

Node.js 从零开发 web server博客项目 前端晋升全栈工程师必备

Node.js 从零开发 web server博客项目

前端晋升全栈工程师必备课程 Node.js 从零开发web server博客项目

前端晋升全栈工程师必备课程 Node.js 从零开发web server博客项目

前端晋升全栈工程师必备课程 Node.js从零开发webServer博客项目