Node.js开发基础 | 青训营笔记

93 阅读2分钟

Node.js开发基础 | 青训营笔记

这是我参与「第四届青训营」笔记创作活动的的第7天

概述

  1. Node.js 是一个开源和跨平台的 JavaScript 运行时环境。 它几乎是任何类型项目的流行工具!
  2. Node.js 在浏览器之外运行 V8 JavaScript 引擎(Google Chrome 的内核)。 这使得 Node.js 的性能非常好。Node.js 应用程序在单个进程中运行,无需为每个请求创建新的线程。
  3. Node.js 具有独特的优势,因为数百万为浏览器编写 JavaScript 的前端开发者现在无需学习完全不同的语言,就可以编写除客户端代码之外的服务器端代码!

应用场景

  • 前端工程化 image.png node.js 现状:虽然有这些其他语言的加入,但node.js在前端工程化中还是处于难以替代的地位,因为本身这些前端工程化的工具都是为了前端开发者服务的,既然这里的工具用户是前端开发者,那么大部分工具的开发者是偏向于前端开发,对于前端开发者而言,node.js相比于其他后端语言学习成本是更低的。所以在前端工程化里面,node.js还是处于难以替代的地位。哪怕你是属于纯前端开发,你也会经常使用node.js去开发这些工具。

  • web服务端应用 (1)学习效率平缓,开发效率高 (2)运行效率接近常见的编程语言 (3)社区生态丰富及工具链成熟 (4)与前端结合的场景会有优势

  • Electron跨端桌面应用

(1)BFF应用,SSR应用,如Modern.js (2)服务端应用:头条搜索,西瓜视频,懂车帝 (3)Electron应用:飞书,飞连 (4)每年新增1000+ Node.js 应用

运行时的结构

image.png

  • V8:JavaScript Runtime,诊断调试工具(inspector)
  • libuv:eventLoop(事件循环),syscall(系统调用)

Node.js运行时的特点

image.png