学习笔记:Node.js简单介绍

95 阅读1分钟

是什么?

  1. 基于 Chrome V8 引擎的 Javascript 运行环境
  2. 开源的,跨平台的 Javascript 运行环境
  3. 服务器端的、非阻塞式I/O的、事件驱动的 JavaScript 运行环境
  4. 通俗来讲就是一款可以运行Javascript代码的应用程序

非阻塞异步I/O

事件驱动

# 学习笔记:Node.js异步非阻塞IO与事件循环

优缺点

  • 优点:

    1. 处理高并发场景性能更佳
    2. 适合I/O密集型应用,指的是应用在运行极限时,CPU占用率仍然比较低,大部分时间是在做 I/O硬盘内存读写操作
  • 缺点:由于是单线程

    1. 不适合CPU密集型操作
    2. 只支持单核CPU,不能充分利用CPU
    3. 可靠性低,代码当中某个环节发生问题,整个系统会崩溃

应用场景

  1. 开发服务器应用
    • 服务器上可以保存编写好的网页,用户通过url访问
  2. 开发工具类应用
    • Webpack
    • Vite
    • Babel
  3. 开发桌面端应用
    • eletron
      • VSCode(基于eletron开发出来的)
      • Figma(基于eletron开发出来的)
      • Postman(基于eletron开发出来的)

与浏览器的差异

  1. 二者各自包含的全局变量不同。

    • document 对象:是用来操作页面的,所以只有浏览器环境下才可以直接使用。如果想在Node.js中使用,需要额外安装jsdom之类的三方库并引入
    • http 对象:Node.js 中可以直接拿来使用的 http 对象,在浏览器环境下就没有。
  2. Node.js 和浏览器对 ES6 新特性的支持程度也是不同的。