每日壁纸

Node.js 第二部分

Published on
/3 mins read/---

一、Node.js 特点

  • 异步IO
  • 事件驱动
  • 单线程

二、Node.js 的主要使用场景

跨平台开发

  • 前端(Web + H5)
  • 移动端(Hybrid)/ Cordova / React Native / Weex
  • PC端 / Electron

Node.js 后端

  • 核心特性 / Web应用
  • API / RPC / 测试 / 部署 / 最佳实践
  • 微服务 / 厂商支持

前端开发

  • React / Vue / Angular 等
  • 应用实践
  • 架构设计

开发工具

  • 各种预编译 / 构建工具
  • Webpack / Gulp / 工程化
  • Hack技巧 / npm 等

三、Node.js 核心模块/API

核心模块

  • global: 全局变量
  • http / https: HTTP协议支持
  • dns: 域名服务器
  • events: 事件触发器
  • fs: 文件系统
  • process: 进程管理
  • path: 路径处理
  • url: 网址解析
  • console: 控制台输出
  • Error: 错误处理
  • module: 模块系统
  • util: 实用工具

其他重要模块

  • assert: 断言测试
  • perf_hooks: 性能钩子
  • buffer: 缓冲区处理
  • child_process: 子进程管理
  • cluster: 集群支持
  • crypto: 加密功能
  • debugger: 调试器
  • dgram: UDP数据报
  • inspector: 检查器
  • Intl: 国际化支持
  • net: 网络功能
  • os: 操作系统接口
  • string_decoder: 字符串解码器
  • readline: 逐行读取
  • repl: 交互式解释器
  • report: 诊断报告
  • stream: 流处理
  • timers: 定时器
  • tls: 安全传输层
  • tty: 终端控制
  • v8: V8引擎接口
  • vm: 虚拟机
  • zlib: 压缩功能
  • worker_threads: 工作线程

实验模块 / 旧版模块

  • querystring: 查询字符串解析
  • async_hooks: 异步钩子
  • trace_events: 跟踪事件
  • diagnostics_channel: 诊断通道
  • wasi: WebAssembly系统接口
  • webcrypto: Web加密API
  • webstream: Web流API

废弃模块

  • domain: 域(已废弃)
  • punycode: 域名代码(已废弃)

四、Node.js 相关的主流框架

// 主要框架列表
// 1. Express - 轻量级Web框架
// 2. Koa - 下一代Web框架
// 3. Nuxt - Vue.js应用框架
// 4. Next - React应用框架
// 5. Socket.io - 实时通信
// 6. Nest - 企业级应用框架

TIP

Web服务器的主要任务: 处理HTTP请求

HTTP 是 Node.js 中的一等公民,设计时考虑到了流式和低延迟,这使得 Node.js 非常适合作为网络库或框架的基础。

Node.js 回调函数特点: 错误优先,即第一个参数是 error。