NodeJS

前端工程化

# Node.js是什么?

框架?库?语言?都不是,而是一个JavaScript运行平台/运行时。

我们现在用的最多的运行平台是浏览器

  • web: Ecma + BOM + DOM
  • Node: Ecma + Node核心模块 + 第三方模块

CS(客户端应用)和BS(浏览器应用),BS是最经典的CS

# 什么是运行平台/ 运行时?

定义:平台一般就是一个运行环境 作用:开发者可以使用指定语言,基于这个环境开发应用

  • 换个角度: 平台就是为编程语言【赋能】,让编程语言具备实际【能力】。语言本身没有高低贵贱。

# Node.js可以做什么?

  • 平台的作⽤就是提供「舞台」,所以理论上平台没有绝对只能⼲什么的说法
  • 不同的平台在提供 APIs 不同,所以我们能够做的事情也不同
  • 浏览器作为⼀个运⾏环境,我们能够使⽤ JS 操作界⾯上的 DOM 元素
  • 没有办法通过 JavaScript 代码实现⽤户本地磁盘⽂件的读写

image

image

  • 每个平台都有各⾃的特点,这些特点决定了它更适合做什么事情
    • 技术角度:Node.js 平台的特点是异步⾮阻塞 IO,所以适合处理web⾼并发请求(如果人比较多访问,有些人只是想读一些东西,不用立马知道计算结果,用node就很合适。)
      • CPU密集型:频繁计算
      • IO密集型:频繁读写
      • 做BFF中间层(后端应用层)
    • ⼈员⻆度:Node.js 平台采⽤的语⾔是 JavaScript,适合前端开发者使⽤
  • 结论:
    • Node.js 适合开发服务器端的应⽤层(BFF)
    • Node.js 适合⽤于开发前端⽅向的各种⼯具

image

更新时间: 2021-12-18 20:56