Node清单 - 初探Node
Node.js 不是一门语言也不是框架,它只是基于 Google V8 引擎的 JavaScript 运行时环境
一、Nodejs特点:
- 异步IO
- 事件驱动
- 单线程
- ......
二、Node.js的主要使用场景:
跨平台:
- 前端(web + H5)
- 移动端(Hybrid) / cordova / react-native / weex
- PC端 / electron
Node后端:
- 核心特性 / web应用
- Api / rpc / 测试 / 部署 / 最佳实践
- 微服务 / 厂商支持
前端:
- react / vue / angular ...
- 应用实践
- 架构
工具:
- 各种预编译 / 构建工具
- webpack / gulp / 工程化
- hack技巧 / npm 等
三、Node.js核心模块/API
html
<!-- // ====== 1. 核心模块 -->
global: 全局变量
http / https
dns: 域名服务器
events: 事件触发器
fs: 文件系统
process: 进程
path: 路径
url: 网址
console: 控制台
Error: 错误
module: 模块
util: 实用工具
<!-- // ====== 2. 其他模块 -->
assert: 断言
perf_hooks: 性能钩子
buffer: 缓冲区
child_process: 子进程
cluster: 集群
crypto: 加密
debugger: 调试器
dgram: 数据报
inspector: 检查器
Intl: 国际化
net: 网络
os: 操作系统
string_decoder: 字符串解码器
readline: 逐行读取
repl: 交互式解释器
report: 诊断报告
stream: 流
timers: 定时器
tls: 安全传输层
tty: 终端
v8: 引擎
vm: 虚拟机
zlib: 压缩
worker_threads: 工作线程
<!-- // ====== 3. 实验模块 / 旧版模块 -->
querystring: 查询字符串
async_hooks: 异步钩子
trace_events: 跟踪事件
diagnostics_channel: 诊断通道
wasi WebAssembly: 系统接口
webcrypto Web: 加密
webstream Web: 流
<!-- // ====== 4. 废弃模块 -->
domain: 域
punycode: 域名代码
四、Node.js相关的主流框架
js
// 1. Express
// 2. Koa
// 3. Nuxt (VUE)
// 4. Next (React)
// 5. Socket.io
// 6. Nest
// ......
TIP
WEB服务器的主要任务是: 处理HTTP请求。
HTTP 是 Node.js 中的一等公民,设计时考虑到了流式和低延迟,这使得 Node.js 非常适合作为网络库或框架的基础。
Node.js中的回调函数,错误优先,即第一个参数是error。