2018-04-09 JS进阶第2课笔记

时隔一周,又开始学习与实战JS的课程了。一天不学习,就觉得自己仿佛拉下来好多课程,傻话不说,继续撸起袖子就是干。

1、写这个教程的原因
  • 网上很多的教程,对于小白,都没有办法直接用,所以有了这个教程。老师说他自己带项目的经验,以及教程涵盖了自己解决问题的思考,大家可以跟着老师的思路学习,并且在做的过程中遇到了问题,老师可以和大家交流与互动起来。

  • 看任何项目的时候,首先需要关注项目的readme.md的文件,然后关注其中的NVM的版本号。跑项目的时候,最好和项目的版本号一致。

  • 为什么要用NVM?如果安装了NVM,可以进行版本的管理,可以查看本机有多少版本号,并且可以在不同的版本之间进行切换。

  • 我们所有看到的网页的数据,都是从服务器拿过来的。页面和数据之间,就进行一个非常好的解耦的工作。以前做前端工程师的时候,完全可以不care服务器这块,现在如果你会了服务器这块,那么你就加分,并且自己的能力将会大大的加分。

  • 如何学习每个章节小小的文章呢?就是每次练习一步,然后回过头来这篇文章,不断的揣摩其中的含义。

2、关于什么是webapp
  • 一个webapp的工程应该长成什么样子?这个命题事实上很难。一个功能长成什么样子,与开发经验有关系。否则100个人就有100个工程的架构,所以最终项目的架构,就由高级开发工程师来制定规则,其余的工程师来约定俗成,这样的话,交流起来就比较高效。这个规范是有具体高超技能的高级工程师或者是专家来制定。

  • 一个工程最重要的是什么?一个工程最重要的是入口的文件。对于初学者而言,就是确认是如何开始的?

  • nodeJs项目最重要的是什么?package.json 是Nodejs最重要的文件。

  • 依赖包决定了什么?决定了Express的可以实现的功能,有的时候,对于有经验的同学,通过读package.json的依赖库,则就可以大概猜出来这个项目可以实现什么样的功能。

  • app.js 相当于整个Express项目的CEO,而routers相当于动静脉。public放了一个项目的共享文件。views并不是最重要的,如果有views说明这个项目有提供界面的能力,去掉views相当于这个Express的项目只提供数据。

  • 大胆的尝试:对于bin文件进行一个大胆的调整。未来学习一定要有识别关键字的能力。如何在一个学习一个事情上,怎么在一个事情上抓住干,是非常未来学习非常非常重要的一个能力。

  • 创建一个server,然后监听3000的端口,bin文件有4行代码就可以正常的启动以及运行。可以对于程序的入口进行多次的改造,了解Express启动的实质调用的入口的文件。

3、认识路由
  • Express里面很牛逼的一点就是把路由这块搞的特别的简单。在app.js里面执行了很多注册的机制。在真正做事的时候,分发到不同的模块进行处理。

  • 路由的分发是流水式的进行,从上到下,一点点的匹配,执行。如果某个路由,没有对应的模块进行处理,那么就会执行到404的错误页面。但是为什么是404呢?404是找不到页面的时候,返回的一个页面,是国际的惯例,这些东西都是约定俗称的。

4、最后的一些讨论
  • 路由判断太多,会不会影响效率:老师答不会,你太小看了计算机的处理速度了。

  • 正常网站,一般处理路由的时候,也不会有10万级的页面。淘宝网的页面路由的设计,不是这种的设计思路,是另外一种方式。

  • 下节课程老师也是讲的1-7节课程相关的内容,所以自己还有时间去练习一下老师留的example的例子,以及发布的这些小文。

  • 现在在阿里云上,有一些镜像的市场。利用阿里云,可以实现将自己写的东西,部署到服务器上,但是目前对于学习的大家而言,能否用来炫技不重要,真正的学到技术非常的重要。

  • 老师在阿里云服务器上使用这些镜像的时候,node以及mongdb都可以在瞬间搞定。使用起来非常的方便。现在这些云服务提供了一些node,mongdb的解决方案。

  • 腾讯云如果在安装node,以及mongdb的时候,存在一些问题,可以将问题抛到群里,来进行讨论。腾讯云肯定也有自己的镜像的市场。

  • 根路由为什么是 '/',服务器默认处理就是 '/ ',比如说www.baidu.com 与 www.baidu.com/一样。

  • 最后一句话,视频好像没有录完整,于是就此中断了。

你可能感兴趣的:(2018-04-09 JS进阶第2课笔记)