当前位置: 首页 > 后端技术 > Node.js

Node入门级必看

时间:2023-04-03 18:04:39 Node.js

要说明任何事情,我们必须知道:它是什么?如何使用?两个关键问题的定义第一,node不是一种语言,而是javascript的一种新的运行环境(准确的说是js的运行环境)。传统上js的运行环境依赖于浏览器,也就是浏览器渲染,所以这也把js的表现领域限制在了浏览器(web)端。但是,当nodejs出现的时候(node和nodejs是一样的),js有了一个全新的runtime(我还是习惯这样称呼),js搭上了node的快车之后,js的用途就扩展到了服务器、游戏、tcp、web、桌面等(不依赖浏览器等),所以这两个开发者的强强联合,在业界(尤其是前端)掀起了一场风暴。我们经常在桌面和网络上使用它。这种全新的开发模式说到web端的node开发,就不得不提Thelibraryontheweb端的一个很棒的node(类似于framework,准确的说不知道真正的是什么库和框架的区别是),也就是Express库。在node桌面端的开发中,还有两个比较有名的库:nw和electron(谷歌推)从这个角度来看,node的前景是无限光明的,同志们还需努力,废话不多说,开始吧。接下来说一下使用node和Express库搭建站点的原理,流程模式类似:浏览器发起请求,然后服务器端接受(或拦截)请求,然后响应函数,将处理结果返回给浏览器,交给浏览器渲染相应的结果一个完整的nodeExpress库的工程结构如下:|__node_modules|__routers|__main.js|__views|__index.html|__about.html|__package.json|__app.js一个Express库项目需要这些接下来,开始真正的表现1.创建一个Express服务器(server)前面说过,node项目最重要的是处理js,所以在node,最重要,控制整个项目运行的是js,但是这些js文件是依赖node来加载和处理的,所以即使你看到很多html页面,也无法直接在浏览器中正确运行控制整个项目的最高层js是一个名为app.js的文件(你可以完全重命名重写,不过按照惯例叫这个名字);请注意,这个文件的目录级别是在项目的根目录下,记住(因为是最高级别)接下来我们手写这个文件,解释一下这个文件中各个代码的作用//1.搭建一个浏览器端访问和服务端响应的系统(姑且称之为系统),在node中,有很多种方式,这里我们使用Express库来创建服务端varexpress=require('express');//2、本库提供了express()的入口方法,用于创建服务器实例varapp=express();//3。设置服务端的响应url映射地址app.get('/index',function(req,res){res.send("哇,你真进来了");});//4。让这个服务器实例监听一个浏览器端口,带有一些友好的提示信息app.listen('3333',function(){console.log("Serverisrunningonhttp://127.0.0.1:3333");});至此,一个最简单的demo就完成了,接下来你进入文件所在目录,执行命令nodeapp.js(注意,这里我还是按照大多数人的习惯,命名为app.js)在这次在浏览器的控制台输入打印出来的地址就可以访问了,是不是很简单!(注意,我这里设置的拦截请求是/index,所以按照我的,你要这样访问:http://127.0.0.1:3333/index),好了,这里先总结一下,但其实,我们的response绝不是几个字符串这么简单,而是需要根据不同的请求渲染不同的页面,所以光有上面这些是不够的;别灰心,接下来我们对上面的内容进行修改,实现根据Accept不同的请求渲染不同的页面,好了,开始吧,是不是有点心急。.//1。复制上面的代码,然后修改响应数据varexpress=require('express');varapp=express();//2。既然是响应各种页面,我们就需要一个视图渲染引擎。在Express节点中,它是ejsvarejs=require('ejs');//3。将创建的服务器实例的视图引擎设置为ejsapp.set('viewengine','ejs');//4。ejs引擎正在处理什么类型的文件?,get表示我这里只处理get请求]app.get('/index',function(req,res){res.render('./index.html');//这里是绑定响应的页面将被渲染});app.get('about',function(req,res){res.render('./about.html');//同上,但多说一句,这里通常有一个问题是渲染页面路径写错了,需要慢慢观察【ps:渲染的时候,系统会自动去views文件夹里找view,所以如果你的页面是views的直接子目录,那么就写直接定位页面]});app.listen('3333',function(){console.log("服务器运行在http://127.0.0.1:3333");});啊,终于完成了是的,虽然累了,但是感悟还是很深刻的。是入门的最佳选择。欢迎交流。声明做原创作品不易。转载请注明出处,谢谢。我是拉丁小猫,欢迎大家关注我,交流,共同进步。如果您有任何问题,请给我发电子邮件(util.you.com@gmail.com)