Node.js-第一天学习内容

总目标(今天学完你应该做到)

一句话总结

👉 用 Node.js 跑起来第一个程序。

第一阶段 Node.js 是什么?

核心一句话:

Node.js = 用 JavaScript 写后端 + 事件驱动 + 单线程高并发

关键理解(今天重点):

  • Node 不是"只能前端"

  • Node 特别适合:

    • API

    • Agent

    • IO 密集型(网络、文件、数据库)第二阶段

IO是什么

标准读法

I/O 念:

"艾 / 欧"

英文:eye oh

字母一个一个念,不连读。

一句话先给结论

I/O = 程序和"外部世界"打交道的所有操作

只要不是纯 CPU 在算的,几乎都是 I/O。


I/O 是哪两个字?

I / O = Input / Output

  • Input:从外面拿数据

  • Output:往外面给数据

在 Node / 后端里,哪些算 I/O?(重点)
✅ 常见 I/O(你每天都会用)
场景 算不算 I/O 例子
读文件 fs.readFile
写文件 fs.writeFile
HTTP 请求 调接口
数据库查询 SQL / Mongo
访问 Redis GET key
读环境变量 process.env

👉 一句话:只要"要等",就是 I/O


❌ 不是 I/O(纯 CPU)
javascript 复制代码
for (let i = 0; i < 1e9; i++) {}
  • 不等外部

  • 只占 CPU

  • 这叫 计算

那为什么 I/O 会"慢"?

因为 I/O 要找 外部资源

  • 硬盘(机械 / SSD)

  • 网络(跨机器)

  • 数据库(磁盘 + 网络)

  • 第三方 API(互联网)

Node 为什么特别在意 I/O?

因为 Node 的设计目标就是:

在"等 I/O 的时间里",继续处理别的请求

所以它:

  • 不傻等

  • 不阻塞

  • 用回调 / Promise / async

最后一行大白话(你可以直接记)

I/O 就是:
程序向外要数据 / 给数据,
慢、要等、但可以不阻塞。

第二阶段 安装 & 验证 Node.js

1.确认是否安装node

打开终端 / CMD / PowerShell:

bash 复制代码
node -v
npm -v

看到版本号就 OK。

如果没装:

去官网 👉 https://nodejs.org

LTS 版本(像选 .NET LTS 一样)

2.写你的第一个 Node 程序

新建一个文件夹 文件夹内 新建一个文件 index.js 添加内容

javascript 复制代码
// index.js
console.log("Hello Node.js");

在文件夹的路径上 回车 cmd

bash 复制代码
node index.js

即可看到 Hello Node.js

第三阶段 理解 Node 的"程序入口 & 模块"

Node 没有 Main(),而是:

  • 文件就是入口

  • 从上往下执行

需要记住的:

  • require = 引用模块

  • module.exports = 对外暴露

创建两个文件:

math.js

javascript 复制代码
function add(a, b) {
  return a + b;
}

module.exports = {
  add
};

index.js

javascript 复制代码
const math = require("./math");

console.log(math.add(1, 2));

运行:

bash 复制代码
node index.js

第四阶段 Node 的核心优势:非阻塞(感受一下)

index.js

javascript 复制代码
console.log("start");

setTimeout(() => {
  console.log("async task");
}, 1000);

console.log("end");

输出顺序:

复制代码
start
end
async task

🧠 记住一句话就行:

Node 不会等慢操作执行完才往下走

小作业

新建一个 user.js

javascript 复制代码
function getUser() {
  return {
    id: 1,
    name: "Tom"
  };
}

module.exports = { getUser };

👉 在 index.js 里调用并打印

index.js

javascript 复制代码
const user  = require('./user');
console.log(user.getUser().name);
console.log(user.getUser().age);
相关推荐
见过夏天18 小时前
Node.js 常用命令全攻略
node.js
前端双越老师1 天前
我从 0 开发的 AI Agent 智语项目发布了
前端·node.js·agent
kyriewen2 天前
2026 年了,还在用 Node.js?Bun 迁移实战:20 分钟搞定,附踩坑记录
前端·javascript·node.js
donecoding2 天前
3 条命令搞定闭环 Monorepo:Lerna 版本管理 + 拓扑构建 + 自定义分发
前端·前端框架·node.js
Flynt3 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
叫我Paul就好4 天前
尝试 Node 搭建后端-开发框架
node.js
风止何安啊6 天前
网课倍速痛点解决:一套前端代码实现自由控速播放器
前端·javascript·node.js
糖拌西瓜皮6 天前
Node.js核心模块实战:文件、路径、HTTP与流处理
javascript·node.js
糖拌西瓜皮6 天前
Node.js工程化实践:包管理、TypeScript配置与代码质量
typescript·node.js
糖拌西瓜皮6 天前
NestJS入门指南:Java开发者的Spring Boot体验
javascript·node.js