# 什么是 Node.js
Node.js 和 Chrome 浏览器用的都是同样的 JS 引擎和模型,它是一个服务器程序,但不是 web 服务器。
其实,在 Node.js 里写 JS 和在 Chrome 里写 JS ,几乎没有不一样。两者唯一有的区别就是以下两点:
Node.js 没有浏览器 API ,即 document ,window 等。
Node.js 加了许多 Node.js API 。
因此,对于开发者来说,你在 Chrome 里写 JavaScript 控制浏览器,而 Node.js 让你用类似的方式,控制整个计算机。
# Node.js 的应用
Web 服务:腾讯视频
搜索引擎优化 + 首屏速度优化 = 服务端渲染
服务端渲染 + 前后端同构 = Node.js
构建工作流
- 使用 Node.js 做 JS 构建工具,一旦出了问题,能够方便前端开发者进行查找,同时也能够根据不同的需求对构建工具进行调整。
开发工具:Visual Studio Code
游戏:wayward(沙盒类生存游戏)
大型应用需要给使用者自定义模块的能力。
使用 Node.js 做复杂本地应用,可以利用 JS 的灵活性提供外部扩展,JS 庞大的开发者基数让他们的灵活性得到利用。
客户端应用:twitch.tv
在已有网站的情况下需要新开发客户端应用。
用 Node.js 客户端技术(electron)实现,最大限度复用现有工程。
# Node.js 的优势
IO 性能强大
事件处理机制完善
天然能够处理 DOM
处理大流量的数据
提供高性能的 web 服务
适合实时交互的应用
完美支持对象数据库(常用的如 MongoDB)
异步处理大量并发连接
社区非常活跃,生态圈日趋完善
# Node.js 各种安装包的区别
Windows 系统建议下载 .msi 格式的安装包,因为 .zip 格式的安装包需要自己配环境变量。
Mac 系统建议下载 .pkg 格式的安装包,因为 .tar.gz 格式的安装包也需要自己配环境变量。
Linux 系统如果是普通电脑就下载 x86 格式的安装包,如果是手机或者平板电脑这些具有 ARM 类型 CPU 的设备,就下载 ARM 格式的安装包。
← 常见的安全问题 Node.js 使用 →