NPM(Node Package Manager)是 JavaScript 运行时环境 Node.js 的默认包管理器。它是世界上最大的软件注册表,包含超过 130 万个包(截至 2024 年),为开发者提供了丰富的开源库和工具。
# 创建 package.json
npm init
# 快速初始化
npm init -y
# 本地安装
npm install package-name
# 全局安装
npm install -g package-name
# 安装特定版本
npm install package-name@1.0.0
# 安装开发依赖
npm install --save-dev package-name
# 或
npm install -D package-name
# 卸载本地包
npm uninstall package-name
# 卸载开发依赖
npm uninstall --save-dev package-name
# 卸载全局包
npm uninstall -g package-name
# 检查过期包
npm outdated
# 更新所有包
npm update
# 更新特定包
npm update package-name
# 运行 package.json 中的脚本
npm run script-name
# 常用脚本
npm run dev # 启动开发服务器
npm run build # 构建生产版本
npm run start # 启动应用
npm test # 运行测试
{
"name": "my-app",
"version": "1.0.0",
"description": "我的应用",
"main": "index.js",
"scripts": {
"dev": "webpack serve",
"build": "webpack --mode production",
"test": "jest"
},
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
"webpack": "^5.0.0",
"webpack-cli": "^4.0.0"
},
"keywords": ["react", "app"],
"author": "Your Name",
"license": "MIT"
}
npm install package-namenpm install -D package-name格式:主版本.次版本.修订版本
# ^1.2.3 兼容 1.x.x 版本
# ~1.2.3 兼容 1.2.x 版本
# * 最新版本
# 1.2.3 精确版本
{
"dependencies": {
"react": "^18.0.0"
}
}
https://registry.npmjs.org/# 配置镜像
npm config set registry https://registry.npm.taobao.org
# 或使用 nrm 管理镜像
npm install -g nrm
nrm use taobao
npm adduser
npm login
npm publish
# 更新补丁版本
npm version patch
# 更新次版本
npm version minor
# 更新主版本
npm version major
管理多个包的工作空间
{
"workspaces": [
"packages/*"
]
}
命名空间管理
npm publish --access public
@scope/package-name
{
"scripts": {
"prebuild": "echo build前执行",
"build": "webpack",
"postbuild": "echo build后执行"
}
}
# 临时使用包
npx create-react-app my-app
# 执行本地安装的包
npx webpack
npm audit)npm list --depth=0)