一、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。
Next post →如何在 Node.js 中不安装外部库发起 HTTP 请求