Nodejs开发实战 | 青训营笔记

140 阅读1分钟

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

本课内容概要

  • nodejs的应用场景
  • nodejs的运行时结构

重点内容概要

主要应用场景

  1. 前端工程化:早期只需要引入lib即可。随着模块化组件化的成熟,前端层面对前台后端的要求逐步提高。nodejs正好赋予了开发者在浏览器之外运行js代码的能力

主要工具有webpack、tyescript\esbuld等

  1. 服务端应用:常用nodejs来开发web服务端的应用,也就是后端服务。

  2. 跨桌面端应用

运行时结构

image.png

image.png 特点:

  • 异步IO:在执行IO操作的时候,会在响应返回后恢复操作,而不是阻塞 image.png
  • 单线程:不用考虑多线程状态同步问题,业绩不需要锁结构;高效利用系统资源。
  • 跨平台:开发成本低,整体学习成本低

实战:编写Http Server

  1. 安装nodejs
  2. 初始页面和一个JSON的返回:

image.png

  1. Http:client

image.png 其实这里是POST了一个请求

  1. Promise

当有调用嵌套的时候,容易产生回调地狱问题,也就是回调的东西非常非常多。ES6引入了Promise来解决回调地狱的问题,解放了代码的可读性

image.png

在内部写处理函数,外部写回调函数的具体内容,如图resovle就是一个例子。

他将请求和函数回调分割,提高了代码可读性。

  1. 静态文件

image.png

高性能可靠的服务还需要:CDN+缓存+分布式存储+容灾