# 什么是 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 各种安装包的区别

nodejs

  • Windows 系统建议下载 .msi 格式的安装包,因为 .zip 格式的安装包需要自己配环境变量。

  • Mac 系统建议下载 .pkg 格式的安装包,因为 .tar.gz 格式的安装包也需要自己配环境变量。

  • Linux 系统如果是普通电脑就下载 x86 格式的安装包,如果是手机或者平板电脑这些具有 ARM 类型 CPU 的设备,就下载 ARM 格式的安装包。

上次更新时间: 2022年11月22日 23:35:36