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

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

作者: 纤纤郡主 | 来源:发表于2018-12-07 17:15 被阅读0次

    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 webpack@3.6.0 (@后面跟版本号 如@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 使用方法及相关方法分析

          本文链接:https://www.haomeiwen.com/subject/trqxhqtx.html