13号就可以真正的开始第4课程的视频了,哈哈。视频完成之后,顺便把JS采坑日志遗留的几个问题,回答一下。
1、第一部分主要讲了上节课遗留的问题
在客户端和服务端进行数据交换的时候,尽量来使用json。
send 在日常的开发中,很少的用到。render,如果你不要Express自己用到的这个框架构建页面的时候,可以不用这个render( 渲染 )。
关于路由中的 “/ “ 与 ”/*” 的处理的差异。Express中的三大利器: App 的对象,非常的重要,可是使用use的方法来处理各种中间件。 Router 来真正处理路由的核心的模块。
关于Router的学习,可以使用sample5的例子来研究。app.use('/',index ) 其中的index是Router的类型。Express在处理所有的路由的时候,其实就是把路由推给了 Router 这个中间件。
改动 Router. get 更改为 Router.post 的话,那么整个网站的主页就无法进行访问。这个原因是什么?http有非常多的方法,get post patch put delete。一个客户端如果发的get的请求,如果不能用路由的get与之对应的处理,那么就无法对应上。浏览器默认是get的路由。
如果处理根路由的时候,既用get,也用post,那么主站就可以进行访问。此时为了模拟这个请求,可以使用postman来往网站打请求。相同的路由,可以根据不同的方法来进行过滤。
1. 普通工程师设计的思路如下:
GET / posts 获取文章
POST / posts/create 创建文章
DELETE / posts/delete 删除文章
PUT /posts/update 修改文章
PATCH /posts/update2 修改文章
2.高级工程师设计的思路如下:
GET / posts 获取文章
POST / posts 创建文章
DELETE / posts 删除文章
PUT /posts 修改文章
PATCH /posts 修改文章
这种Router根据不同的路由,来进行不同场景的处理。
2、学习Express的官网
学习Express里面的http的很多方法。但是它对于初学者并不是非常的友好。但是作为工程师,要有一种反推的能力。
特别好玩的一个事情: 真实的场景是可能现实生活中,某个具体的IP总是在耗费我的流量,所以在后台进行截流的处理。
在index里面接受一个的路由处理
Router.get('/users',function(res ,req , err){
res.send('zhangsan ');
}) ;
路由的处理存在截流的问题,截流数据一定有原因的。
软件的升级,不一定要停服务。中间件的截流都是一个比较好的方式。Router中间件的方式非常非常的重要。
中间件截流一般应用于什么地方。目的是对于数据重新的封装,重新的处理。还有一些截流是账号系统相关的截流。可以拿到数据的信息,进行用户信息的判断。
3、模板引擎
Express 与Ejs 之间的关系是什么?EJS不是Express的中间件,只是Express硬拿过来的。类比:农夫山泉的好的广告,Ejs不是Express创造出来的,只是Express在设计的时候,兼容出来的。
Express的App.js 里面设置了视图界面的引擎,但是整个对于Express不是必须的,可以使用其他的进行替换。对于初学者而言,jad的格式要求非常的严格,初学者使用的时候,特别的困难。
-
如果自己做的时候,需要首先需要引入ejs。require(‘ejs’),还需要引入一个path,以及fs的文件。
以上代码的目的是想要不通render,自己来进行页面的渲染。以下是自己渲染的页面的代码。
render函数的价值就是构建页面非常的简单。但是日常的很多项目需要自己来构建页面,所以要知道这个点。
res.locals.title = "mingzi" 也可以在页面得到一些数据。res.locals 非常的重要,render只能给当前的页面一些处理数据的能力。但是locals 可以给所有的页面进行数据的传递的作用。
4、最后几分钟的一些答疑
找到自己如何通过构建界面,返回给用户,也蛮重要的。
关于如何访问根目录,还是有些疑惑。不管什么路由就返回一个index的界面。这个就可以进行处理。
页面如何渲染 markdown呢?首先需要安装一个markdown-it,然后用require进行引入的操作。之后调用markdown的render方法来进行表头的调用。一般都是渲染好了,然后在进行传入进去。
徐杰再次问了一个问题,我知道的第二次。
Http 有哪些方法?老师说这个需要自己去查,不要直接问。
老师在社区里面写的文档,所有的也都需要单独的过一遍。
这节课程开始,老师表示自己可能就不在新大了,所以希望大家珍惜可以在一起上课的时光。老师表示从心里面特别想带大家对于Express有一个比较深的认知,这个非常的重要。老师表示上课不是自己的一个职业。后面可能开课的机会不是非常的多。老师希望大家都能好好的加油!
老师再次问了,大家还有没有什么的问题?关于上课老师表示自己也没有拿钱,也完全不care定价,完全是奉献。学习肯定是需要交流的,自我的学习是不好的。和别人交流是非常重要的。老师表示自己在学习的过程中,经常会与周围的同学进行交流。
老师说有问题,可以帮助大家,但是具体的代码的处理,需要自己来搞。这种具体的代码跑不通的问题,还是需要自己来尝试。
8-13 老师表示还是非常的简单。从下节课程的时候,老师要突出数据库的方面的知识了。mongdb非常适合处理论坛以及博客的内容型的,是非常非常好的东西。所以搞定这个东西是非常好的。数据库安装的时候,非常的麻烦,所以建议在安装的时候用docker,可以做到一键安装。
还有就是不要急于进行部署到服务器。有些同学在安装的时候,会遇到问题。但是肯定有解决的方式。
老师表示还是练习8-13,希望大家可以不断的进行回顾。我觉得关于老师说的这里,可以从社区的文档,再次理解其中的1-13小结里面的很多的东西。
老师表示课程的学习之后,还能在群里进行交流,进行一年的交流,那么收获最大的就是自己。老师表示自己还会在北京,暂时不会离开。没有问题的话,老师表示下周三见,但是不排除调整上课的时间。
老师表示第2季的课程的视频播放的权利是他的,所以可将视频直接分享给大家。预习要比复习重要很多倍,所以大家一定要记得预习。