这是我参与「第五届青训营 」伴学笔记创作活动的第 12 天
本课内容概要
- nodejs的应用场景
- nodejs的运行时结构
重点内容概要
主要应用场景
- 前端工程化:早期只需要引入lib即可。随着模块化组件化的成熟,前端层面对前台后端的要求逐步提高。nodejs正好赋予了开发者在浏览器之外运行js代码的能力
主要工具有webpack、tyescript\esbuld等
-
服务端应用:常用nodejs来开发web服务端的应用,也就是后端服务。
-
跨桌面端应用
运行时结构
特点:
- 异步IO:在执行IO操作的时候,会在响应返回后恢复操作,而不是阻塞
- 单线程:不用考虑多线程状态同步问题,业绩不需要锁结构;高效利用系统资源。
- 跨平台:开发成本低,整体学习成本低
实战:编写Http Server
- 安装nodejs
- 初始页面和一个JSON的返回:
- Http:client
其实这里是POST了一个请求
- Promise
当有调用嵌套的时候,容易产生回调地狱问题,也就是回调的东西非常非常多。ES6引入了Promise来解决回调地狱的问题,解放了代码的可读性
在内部写处理函数,外部写回调函数的具体内容,如图resovle就是一个例子。
他将请求和函数回调分割,提高了代码可读性。
- 静态文件
高性能可靠的服务还需要:CDN+缓存+分布式存储+容灾