Appearance
npm 快速入门
npm (Node Package Manager) 是Node.js的包管理器,也是世界上最大的开源库生态系统。本章将帮助您快速了解npm的核心概念和基本使用方法。
什么是npm
npm是一个命令行工具,用于安装、共享和管理JavaScript库。它包含三个主要部分:
- npm命令行工具:用于安装和管理包
- npm注册表:全球最大的软件包注册表
- npm网站:用于搜索和发现包的网站
安装npm
npm通常与Node.js一起安装:
bash
# 检查是否已安装Node.js和npm
node --version
npm --version
# 如果未安装,可以从以下途径获取:
# 1. 从官网下载 Node.js (包含npm):https://nodejs.org/
# 2. 使用包管理器安装
# macOS: brew install node
# Ubuntu: sudo apt install nodejs npm
# Windows: choco install nodejs
初始化项目
bash
# 创建新项目目录
mkdir my-project
cd my-project
# 初始化npm项目
npm init
# 或者使用默认设置快速初始化
npm init -y
这将创建一个package.json文件,用于管理项目依赖和配置。
基本命令
安装包
bash
# 安装包到项目中(保存到dependencies)
npm install package-name
# 或简写
npm i package-name
# 安装包到开发依赖(保存到devDependencies)
npm install package-name --save-dev
# 或简写
npm i package-name -D
# 全局安装包
npm install -g package-name
卸载包
bash
# 卸载包
npm uninstall package-name
# 或简写
npm un package-name
# 卸载开发依赖
npm uninstall package-name --save-dev
更新包
bash
# 更新单个包
npm update package-name
# 更新所有包
npm update
# 检查过时的包
npm outdated
package.json详解
json
{
"name": "my-project",
"version": "1.0.0",
"description": "项目描述",
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "jest"
},
"dependencies": {
"express": "^4.18.0"
},
"devDependencies": {
"jest": "^28.0.0"
},
"keywords": ["javascript", "nodejs"],
"author": "Your Name",
"license": "MIT"
}
npm脚本
npm允许您在package.json中定义脚本:
json
{
"scripts": {
"start": "node server.js",
"dev": "nodemon server.js",
"test": "jest",
"build": "webpack --mode production",
"lint": "eslint src/"
}
}
运行脚本:
bash
# 运行定义的脚本
npm run script-name
# 运行预定义脚本(start, test等可以省略run)
npm start
npm test
语义化版本控制
npm使用语义化版本控制(SemVer):
^1.2.3:允许更新到1.x.x的最新版本~1.2.3:允许更新到1.2.x的最新版本1.2.3:固定版本>=1.0.0:大于等于1.0.0
全局包管理
bash
# 查看全局安装的包
npm list -g --depth=0
# 查找全局包的安装位置
npm root -g
# 清理全局包缓存
npm cache clean --force
npm配置
bash
# 查看当前配置
npm config list
# 设置配置项
npm config set init-author-name "Your Name"
npm config set registry "https://registry.npmjs.org/"
# 查看特定配置
npm config get registry
搜索和查看包信息
bash
# 搜索包
npm search package-name
# 查看包信息
npm info package-name
# 查看包的特定版本信息
npm view package-name@latest version
安全审计
bash
# 检查项目中的安全漏洞
npm audit
# 自动修复安全漏洞
npm audit fix
# 强制修复(可能破坏兼容性)
npm audit fix --force
工作区 (Workspaces)
npm支持工作区,允许您管理多个包:
json
{
"name": "my-workspace-project",
"workspaces": [
"packages/*",
"frontend",
"backend"
]
}
使用工作区:
bash
# 在所有工作区中安装依赖
npm install package-name --workspace=frontend
# 在所有工作区中运行脚本
npm run build --workspaces
常用快捷命令
bash
# 安装并保存依赖
npm i package-name
# 安装并保存开发依赖
npm i -D package-name
# 安装并保存为可选依赖
npm i package-name --save-optional
# 安装特定版本
npm i package-name@1.2.3
# 安装最新版本
npm i package-name@latest
现在您已经了解了npm的基础知识,可以开始在项目中使用npm来管理依赖和脚本了。接下来可以深入学习npm的高级功能和最佳实践。