Node.js 与前端开发实战 | 青训营

57 阅读1分钟

Node.js 与前端开发实战 | 青训营

这是第二天 不需要编译,性能高

Node.js的应用场景-前端工程化

●Bundle: webpack, vite, esbuild, parcel ●Uglifty: uglifyjs ●Transpile: bablejs, typescript ●其他语言加入竞争: esbuild, parcel, prisma ●现状:难以替代

Node.js的应用场景- Web服务端应用

●学习曲线平缓,开发效率较高 ●运行效率接近常见的编译语言 ●社区生态丰富及工具链成熟(npm, V8 inspector) ●与前端结合的场景会有优势(SSR) ●现状:竞争激烈,Node.js 有自己独特的优势

Node.js的应用场景- Electron跨端桌面应用

●商业应用: vscode, slack, discord,zoom ●大型公司内的效率工具 ● 现状:大部分场景在选型时,都值得考虑

Node.js运行时结构- V8, libuv

●V8: JavaScript Runtime,诊断调试工具(inspector) ●libuv: eventloop (事件循环),syscall (系统调用) 举例:用node-fetch发起请求时....

特点

1.异步

2.单线程

3.跨平台

单线程

JS单线程 实际:JS线程+uv线程池+V8任务线程池+V8Inspector线程 优点:不用考虑多线程状态同步问题,也就不需要锁;同时还能比较高效地利用系统资源;

缺点:阻塞会产生更多负面影响 ●解决办法:多进程或多线程

开发成本低