这是我参与「第四届青训营」笔记创作活动的的第4天
什么是Node.js
Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。简单的说,Node.js 就是运行在服务端的 JavaScript。
Node.js的应用场景
1. 前端工程化
- 打包工具(Bundle):webpack,vite,esbuild,parcel
- 压缩工具(Uglify):uglifyjs
- 转移工具(Transpile):bablejs,typescript
- 其他语言加入竞争:基于go实现的ebuild,parcel,prisma
虽然前端工程化目前有不少语言竞争,但短时间内Node.js还是难以被代替,一哥的位置妥妥的
2. web 服务端应用
在众多后端语言中,node.js有以下特点优势:
- 学习效率平缓,开发效率高
- 运行效率接近常见的编程语言
- 社区生态丰富及工具链成熟(如npm,V8 inspector)
- 与前端结合的场景会有优势(如SSR)
node.js与前端共用一套代码,这便是node.js独特的优势
3. Electron 跨端桌面应用
vscode, slack, discord, zoom等常见软件都是用Electron开发的。Electron 开发效率高,所以大型公司的效率工具,大部分都是基于 Electron 做的
大部分场景在选型时,都值得考虑
4.node.js做的应用
- BFF应用,SSR应用,如Modern.js
- 服务端应用:头条搜索,西瓜视频,懂车帝
- Electron应用:飞书,飞连
- 每年新增1000+ Node.js 应用