第3课:Node、npm 和 package.json 是什么
把 Node、npm、package.json、scripts、dependencies 和 node_modules 讲成项目说明书。
本课目标
第 1 课让你认识编辑器和项目文件夹。
第 2 课让你知道终端怎样启动项目、怎样复制报错。
第 3 课要解决一个更具体的问题:
为什么很多 AI 做出来的网页项目,不能只靠双击文件打开?
为什么 Codex 总说 npm install、npm run dev、package.json?
本课不教 Node.js 编程,不教 npm 生态,也不教前端框架。
它只让你看懂:
Node 是运行环境。
npm 是工具管理员。
package.json 是项目说明书。
scripts 里能看启动命令。
dependencies 里能看项目依赖。
node_modules 是安装依赖后生成的工具仓库。
本课结束时,你要完成一张 package.json 观察表。
开始之前
上一课你已经见过终端。
你可能运行过:
npm run dev
也可能看到 AI 让你先运行:
npm install
你可能会想:
npm 是什么?
Node 又是什么?
package.json 为什么这么重要?
node_modules 为什么这么大?
这些问题很正常。
第二册不要求你成为前端工程师。
你只需要知道这些词在项目里分别负责什么。
一个小故事
小林把自己的“小红书标题助手”发到另一台电脑上。
他打开项目,想运行:
npm run dev
结果终端报错:
command not found
或者:
Cannot find module
小林第一反应是:
项目坏了。
但项目不一定坏。
可能只是:
- 这台电脑没有安装 Node。
- 项目依赖还没有安装。
- 终端不在正确项目文件夹。
package.json里的启动命令和他输入的不一样。
所以,第 3 课要学会看一份项目说明书:
package.json
今天要认识的 8 个东西
1. Node
Node 可以先理解成很多网页项目的开发运行环境。
你不用先学 Node 编程。
一句话记住:
Node = 让项目里的开发工具能运行的环境
如果电脑里没有 Node,有些命令可能根本跑不起来。
2. npm
npm 可以先理解成工具管理员。
它常做两件事:
安装依赖
运行脚本
比如:
npm install
npm run dev
npm 经常按 package.json 里的说明做事。
3. package.json
package.json 是项目说明书。
它通常告诉你:
- 项目叫什么。
- 有哪些运行脚本。
- 需要哪些依赖。
- 可能用哪些工具。
本课最重要的是看两个区域:
scripts
dependencies
4. scripts
scripts 里通常写着项目可以运行哪些命令。
比如:
"scripts": {
"dev": "vite",
"build": "vite build"
}
如果里面有 "dev",通常就可以用:
npm run dev
5. dependencies
dependencies 里写着项目需要哪些工具包。
比如:
"dependencies": {
"react": "...",
"vite": "..."
}
你不需要每个依赖都懂。
一句话记住:
dependencies = 项目需要的工具清单
6. npm install
npm install 的意思可以先理解成:
请 npm 按 package.json 里的依赖清单,把工具装好。
如果你刚拿到一个项目,或者换了一台电脑,常常需要先安装依赖。
7. npm run dev
npm run dev 的意思可以先理解成:
请 npm 按 package.json 里 scripts 的 dev 命令,把项目启动起来。
它不是万能命令。
如果 package.json 里没有 dev,这条命令可能就不能用。
8. node_modules
node_modules 是安装依赖后生成的工具仓库。
它通常很大,文件很多。
不要害怕。
一句话记住:
node_modules = npm install 后自动出现的工具仓库
新手通常不需要手动修改它。
一个比喻:项目说明书和工具仓库
你可以把项目想成一间手作工作室。
| 工作室 | 项目 |
|---|---|
| 电力环境 | Node |
| 工具管理员 | npm |
| 工具和流程说明书 | package.json |
| 今天要用哪些工具 | dependencies |
| 今天怎么开工 | scripts |
| 把工具搬进工作室 | npm install |
| 开始工作 | npm run dev |
| 工具仓库 | node_modules |
如果工作室没有电,很多工具用不了。
如果工具没有搬进来,工作也开始不了。
如果你不知道说明书在哪,就不知道该怎么开工。
课堂活动:找到 package.json
请打开你第一册的小工具项目。
先不要改代码。
在文件树里找:
package.json
如果你找不到,可以问 Codex:
请你先不要改代码。
请帮我确认这个项目里有没有 package.json。
如果有,请告诉我它在哪里。
如果没有,请告诉我这个项目可能用什么方式运行。
找到后,先不要试图读完整文件。
只找两个词:
scripts
dependencies
观察 scripts
请在 package.json 里找到 scripts。
| script 名称 | 命令内容 | 我理解它大概做什么 |
|---|---|---|
| dev | ||
| start | ||
| build | ||
| test | ||
| lint |
不是每个项目都有这些脚本。
没有也正常。
观察 dependencies
请找到 dependencies。
你可能会看到一串英文名字。
不用全部看懂。
只挑 3-5 个,让 Codex 解释。
| 依赖名称 | AI 解释它大概负责什么 | 我现在需要懂它吗 |
|---|---|---|
| 需要 / 暂时不用 | ||
| 需要 / 暂时不用 | ||
| 需要 / 暂时不用 | ||
| 需要 / 暂时不用 | ||
| 需要 / 暂时不用 |
package.json 观察表
| 项目 | 我的记录 |
|---|---|
| 项目名称 | |
package.json 文件位置 | |
| 启动项目的命令 | |
| 安装依赖的命令 | |
| 可能的构建命令 | |
| 可能的检查命令 | |
| 我看不懂的 script | |
| AI 建议我暂时不用管的内容 |
给 AI 的一句话
把下面这段复制给 Codex:
请你打开 package.json,帮我解释:
1. 这个项目有哪些 scripts;
2. 我应该用哪个命令启动项目;
3. 如果需要安装依赖,应该用什么命令;
4. 这个项目依赖了哪些主要工具;
5. node_modules 是什么;
6. 哪些内容我现在暂时不用懂。
请不要改代码。
请用小白能听懂的话解释。
如果 Codex 解释得太技术,可以继续说:
请不要深入讲 Node 和 npm 原理。
请只告诉我:我现在运行这个项目需要知道什么。
本课最低标准
你能说出:
Node = 开发工具运行环境
npm = 工具管理员
package.json = 项目说明书
scripts = 可以运行哪些命令
dependencies = 项目需要哪些工具包
并且你能在自己的项目里找到 package.json,完成一张观察表。