Skip to content

Nodejs

一个基于 Chrome V8 引擎的JavaScript运行环境。

一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境。

事件驱动、异步驱动、非阻塞式IO

Notes

  • 没有锁,没有死锁问题

  • Node.js 中几乎没有函数直接执行 I/O 操作(除非你使用 Node.js 标准库中的同步函数版本),其进程从不会被阻塞

  • Node处理请求时是单线程,但是在后台拥有一个I/O线程池.

  • 就像浏览器的 JavaScript 一样 —— 事件循环对用户是隐藏的。

  • 支持流式和低延迟

  • Node.js 被设计成单线程运行

模块

规范

CommonJS

分类

  • 核心模块
    • 由node引擎提供的模块,核心模块的标识就是模块的名字
    • 包括文件系统I/O、网络( HTTP、 TCP、 UDP、 DNS、TLS/SSL等)、二进制数据流、加密算法、数据流 等等
  • 文件模块
    • 由用户自己创建的模块,文件模块的标识就是文件的路径(绝对路径或相对路径,一般用相对路径)

.env

process.env.NODE_ENV

  • development
  • production
  • testing
  • staging

指定运行环境

bash
NODE_ENV=production node  app.js

也可以用通过 cross-env 设置

ts-node

bash
npm i -D ts-node

npx ts-node example.ts

tsx

bash
npm i -D tsx
npx tsx example.ts

node --import=tsx example.ts

Powered by VitePress