nodejs| 青训营笔记

24 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 15 天

介绍

Node(正式名称 Node.js)是一个开源的、跨平台的运行时环境,有了它,开发人员可以使用 JavaScript 创建各种服务器端工具和应用程序。此运行时主要用于浏览器上下文之外(即可以直接运行于计算机或服务器操作系统上)。据此,该环境省略了一些浏览器专用的 JavaScript API,同时添加了对更传统的 OS API(比如 HTTP 库和文件系统库)的支持。

nodejs 多用于IO密集型任务,由于是异步调用,能够很好的实现业务。

优势

  • 性能较好,在处理IO密集型时表现良好
  • 同一种语言
  • 可移植
  • 生态较好

重要的知识点

聊起node就不可避免要聊一下express,Express 是最流行的 Node 框架,是许多其它流行 Node 框架 的底层库。它提供了以下机制:

  • 处理不同 URL 路径,处理不同 HTTP 动词的请求(路由)。
  • 集成了“视图”渲染引擎,以便通过将数据插入模板来生成响应。我理解的是可以返回渲染好的html或者json数据,来实现服务端渲染或restful风格的API。
  • 设置常见 web 应用设置,比如用于连接的端口,以及渲染响应模板的位置。
  • 在请求处理管道的任何位置添加额外的请求处理“中间件”。类比别的服务端框架,加入了各种中间件来方便我们使用

案例

image.png 如图,我们监听3000端口,返回字符串,同时测量所花费时间

注意中间件调用顺序

中间件的函数调用 next(),以将控制权传递给下一个中间件函数,由于是异步的,所以交出控制权执行完成之后会回调,类似洋葱式结构,从外到里在到外。

参考MDN

字节课堂视频