一、什么是Node.js和npm?

在开始使用npm之前,我们先简单了解它的“身份”:
- Node.js:是一个基于Chrome V8引擎的JavaScript运行环境,让JavaScript可以脱离浏览器在服务器端运行。它让前端开发者也能写后端代码,实现全栈开发。
- npm:全称Node Package Manager,是Node.js的默认包管理工具,相当于Node.js的“应用商店”。通过npm,你可以快速下载、安装、管理别人写好的JavaScript代码包(比如框架、工具库等),避免重复造轮子。

二、安装Node.js和npm

要使用npm,首先得安装Node.js(npm会随Node.js一起安装)。以下是不同系统的安装方法:

1. Windows系统

  • 官网下载:访问 Node.js官网,点击“Download”下载对应系统版本(推荐LTS稳定版)。
  • 安装时勾选“Add to PATH”(自动配置环境变量),一路下一步即可。
  • 验证:打开命令提示符(CMD)或PowerShell,输入 node -vnpm -v,如果显示版本号(如v18.16.0),说明安装成功。

2. Mac系统

  • 方法1(推荐):用Homebrew安装。先安装Homebrew(如果没装过):
  /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

然后执行 brew install node
- 方法2:官网下载安装包,步骤同Windows。
- 验证:打开终端,输入 node -vnpm -v

3. Linux系统(以Ubuntu为例)

  • 打开终端,执行:
  sudo apt update
  sudo apt install nodejs npm
  • 验证同上。

三、npm的核心功能:初始化项目

在开始使用npm管理依赖前,需要先初始化一个项目,生成 package.json 文件(项目配置文件,记录项目信息和依赖)。
步骤
1. 新建一个文件夹(如 my-project),打开终端进入该目录。
2. 执行 npm init,按提示填写项目名称、版本、描述等信息(也可直接用 npm init -y 快速生成默认配置)。
3. 生成的 package.json 会包含项目基本信息,例如:

   {
     "name": "my-project",
     "version": "1.0.0",
     "description": "",
     "main": "index.js",
     "scripts": {
       "test": "echo \"Error: no test specified\" && exit 1"
     },
     "keywords": [],
     "author": "",
     "license": "ISC"
   }

其中 scripts 是关键,后续可定义项目启动命令(如 npm start)。

四、安装依赖:npm install

npm最常用的功能是安装第三方包。基本语法:

npm install <包名>

1. 本地安装 vs 全局安装

  • 本地安装(默认):包会被安装到项目根目录的 node_modules 文件夹下,仅当前项目可用。
    例如:安装Web框架 express(生产环境依赖):
  npm install express --save

--save 会自动将依赖写入 package.jsondependencies 字段,即生产依赖)。

  • 全局安装-g 参数):包会被安装到系统级目录,可在任何项目中直接调用。
    例如:安装代码格式化工具 prettier(全局工具):
  npm install -g prettier

安装后可在终端直接执行 prettier --version 验证。

2. 生产依赖 vs 开发依赖

  • 生产依赖dependencies):项目运行时必须的依赖(如 reactvueexpress)。
    安装时用 --save(或简写 -S):
  npm install react --save
  • 开发依赖devDependencies):仅开发时需要的依赖(如代码检查工具 eslint、构建工具 webpack)。
    安装时用 --save-dev(或简写 -D):
  npm install eslint --save-dev

提示:安装时可省略 --save,npm会自动根据依赖类型写入对应字段(需确保 package.json 配置正确)。

五、管理依赖:查看、更新、卸载

1. 查看已安装依赖

  • 查看所有依赖:
  npm list

(会显示 node_modules 下的所有依赖树)。

  • 查看生产依赖:
  npm list --production

2. 更新依赖

  • 更新单个依赖:
  npm update <包名>

(更新到最新兼容版本,需注意版本号规则)。

  • 更新所有依赖:
  npm update

3. 卸载依赖

  • 卸载生产依赖:
  npm uninstall <包名>

(会自动从 package.jsonnode_modules 中移除)。

  • 卸载开发依赖:
  npm uninstall <包名> --save-dev

4. 清理依赖

  • 移除未在 package.json 中声明的依赖:
  npm prune

六、常用npm命令速查表

命令 作用
npm init 初始化项目,生成 package.json
npm install <包名> 安装包到本地(默认生产依赖)
npm install -g <包名> 全局安装包
npm install -S <包名> 安装生产依赖并写入 dependencies
npm install -D <包名> 安装开发依赖并写入 devDependencies
npm uninstall <包名> 卸载包
npm update <包名> 更新包到最新版本
npm list 查看所有依赖
npm start 运行 package.jsonscriptsstart 脚本
npm run <脚本名> 运行自定义脚本(如 npm run build

七、实用技巧:解决国内访问慢问题

由于npm服务器在国外,国内用户访问可能较慢。可通过以下方式加速:

1. 使用淘宝镜像(推荐)

  • 临时使用淘宝镜像安装:
  npm install <包名> --registry=https://registry.npm.taobao.org
  • 永久配置淘宝镜像:
  npm config set registry https://registry.npm.taobao.org
  • 验证是否生效:
  npm config get registry  # 显示淘宝镜像地址

2. 使用cnpm(淘宝官方工具)

  • 安装cnpm:
  npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 用cnpm代替npm:
  cnpm install <包名>

八、注意事项

  1. 不要上传 node_modules 到Git
    node_modules 体积大且重复,可在 .gitignore 中添加:
   node_modules/
   package-lock.json
  1. 版本号规则
    package.json 中依赖版本号用 ^(兼容小版本更新)或 ~(仅补丁版本更新),例如:
    - ^1.2.3:允许更新到 1.3.x1.4.x(小版本)。
    - ~1.2.3:仅允许更新到 1.2.x(补丁版本)。

  2. 避免全局安装过多工具
    全局安装的包仅在终端可用,项目依赖应优先本地安装,避免版本冲突。

总结

npm是Node.js开发的核心工具,掌握它能极大提升开发效率。从初始化项目、安装依赖到管理版本,核心是理解 package.json 和依赖的分类(生产/开发)。通过本文的步骤和示例,你可以快速上手npm,后续可结合项目实践深入学习更多高级功能(如脚本配置、版本锁定等)。

现在,打开终端,尝试创建一个项目,安装第一个依赖吧! 🚀

小夜