Web知识篇

什么是Node.js与npm

Node.js:让 JavaScript 走出浏览器

Node.js 是一个 JavaScript 运行环境。在 Node.js 出现之前,JavaScript 只能在浏览器里运行。有了 Node.js,JavaScript 可以像 Python 一样在电脑上直接运行,做后端服务、命令行工具、甚至桌面应用。

💡 类比:JavaScript 原本只能在"浏览器"这个教室里上课,Node.js 相当于给它发了一张"通行证",让它可以去任何地方工作。

加载图表中...

为什么前端项目需要 Node.js?

你可能会问:我只是写网页,为什么要装 Node.js?

因为现代前端开发不只是写 HTML/CSS/JS 文件了。前端框架(React、Next.js、Vue)都需要:

环节需要 Node.js 做什么
安装依赖npm install 下载项目需要的库
启动开发服务器npm run dev 启动本地预览
编译构建npm run build 把代码打包成可部署的版本
代码检查ESLint、TypeScript 类型检查
运行 AI 工具Claude Code、create-next-app 等都需要 Node.js

npm:全球最大的代码超市

npm(Node Package Manager)是 Node.js 自带的包管理器。它管理着全球最大的开源库生态——超过 200 万个现成的工具包。

加载图表中...

💡 类比:npm 就像一个超级"应用商店",但里面装的不是 App,而是代码库。需要什么功能,一条命令就能安装。

npm 常用命令

# 安装所有依赖(拿到新项目的第一步!)
$ npm install

# 安装指定包
$ npm install next          # 安装到 dependencies
$ npm install -D typescript # 安装到 devDependencies

# 运行项目脚本
$ npm run dev    # 启动开发服务器
$ npm run build  # 构建生产版本
$ npm run start  # 启动生产服务器

# 临时运行一个包的命令
$ npx create-next-app my-app

package.json:项目的身份证

每个 Node.js 项目都有一个 package.json 文件,记录了项目的基本信息和依赖清单:

{
  "name": "my-app",
  "version": "1.0.0",
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start"
  },
  "dependencies": {
    "next": "^14.0.0",
    "react": "^18.2.0",
    "openai": "^4.0.0"
  },
  "devDependencies": {
    "typescript": "^5.0.0",
    "tailwindcss": "^3.4.0"
  }
}
字段含义
name项目名称
version版本号(主版本.次版本.修复版本)
scripts自定义命令。npm run dev 实际执行的是 next dev
dependencies项目运行必须的包
devDependencies仅开发时用的包(上线后不需要)

node_modules 目录

npm install 会创建一个 node_modules 目录,所有下载的包都在这里面。

⚠️ 重要提醒

  • node_modules 通常非常大(几百 MB),不要提交到 Git
  • .gitignore 文件里应该包含 node_modules/
  • 删掉 node_modules 后重新 npm install 就能恢复

Node.js 安装

系统推荐方式
macOS使用 nvm 安装(可以管理多个版本)
Windows下载 Node.js 官方安装包(选择 LTS 版本)
Linux使用 nvm 安装

安装后验证:

$ node --version    # 查看 Node.js 版本
v20.11.0

$ npm --version     # 查看 npm 版本
10.2.4

🎯 AI编程小贴士:拿到 AI 生成的项目代码后,第一步永远是 npm install。90% 的"项目跑不起来"都是因为忘了这一步。第二步是 npm run dev 启动开发服务器。

小结

  • Node.js 让 JavaScript 可以在浏览器之外运行
  • npm 是全球最大的包管理器,有 200 万+ 开源包
  • package.json 是项目的身份证 + 依赖清单
  • node_modules/ 存放下载的依赖,不要提交到 Git
  • 拿到项目第一步:npm install,第二步:npm run dev