Skip to content

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。