这是我参与「第四届青训营 」笔记创作活动的的第11天
重点
- Node.js应用场景
- Node.js结构
- 编写HTTP server
Node.js
应用场景(why)
前端工程化
web服务端应用
Electron跨端桌面应用
运行时结构(what)
特点
- 异步i/o
- 单线程
- 跨平台
异步i/o
当Node.js执行I/O操作时,会在响应返回后恢复操作,而不是阻塞线程并占用额外内存等待
单线程
跨平台
编写HTTP Server(how)
安装Node.js
编写Http Server + Client,收发GET POST请求
HTTP Server
HEELO WORLD
json
HTTP client
promisify
用promise+async await重写:将callback换成promise
编写静态文件服务器
结果
与高性能、可靠的服务相比 还需
- CDN:缓存 + 加速
- 分布式储存,容灾
编写React SSR服务
SSR特点
- 相比传统HTML模板引擎:避免重复写代码
- 相比SPA (single page application):首屏渲染更快,SEO友好
- 缺点:qps较低,前端写代码时需考虑服务端渲染情况
HTML方法
React方法
难点
1.需要处理打包代码
2.需要思考前端代码在服务端运行的逻辑
3.移除对服务端无意义的副作用,或重置环境
适用inspector进行调试 诊断
V8 Inspector:开箱即用、特性丰富强大、与前端开发一致、跨平台 使用方法 输入
场景:
- 查看console.log内容
- breakpoint
- 高CPU\死循环:cpuprofile
- 高内存占用:heapsnapshot
- 性能分析
部署简介
延申话题
总结
有点听不懂,讲了Node.js结构和编写