1. npm 是什么?npm(Node Package Manager) 是 JavaScript 和 Node.js 的包管理工具,用于安装、管理和共享代码模块(称为“包”或“package”)。
npm 主要功能:
📦 安装和管理依赖(如 React、Vue、Lodash 等第三方库)
🔄 版本控制(指定依赖的版本范围)
🚀 运行脚本(如 npm start、npm test)
🌍 发布自己的包(分享代码到 npm 官方仓库)
npm 与 Node.js 的关系:
npm 是 Node.js 的默认包管理器,安装 Node.js 时会自动安装 npm。
可以通过 node -v 和 npm -v 检查版本:
2. npm 基本使用(1)初始化项目(创建 package.json)package.json 是项目的配置文件,记录项目信息、依赖和脚本。
npm init # 交互式创建 package.json
npm init -y # 快速创建(使用默认值)运行后,会生成一个 package.json 文件,内容类似:
{
"name": "my-project",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
(2)安装依赖包npm 可以安装 本地依赖(仅当前项目使用)或 全局依赖(所有项目可用)。
命令
作用
示例
npm install
安装依赖(默认本地)
npm install lodash
npm install -g
全局安装
npm install -g nodemon
npm install --save-dev
安装开发依赖(如 ESLint、Webpack)
npm install --save-dev eslint
npm install
安装 package.json 中的所有依赖
npm install
示例:安装 React
npm install react react-dom安装后,依赖会写入 package.json 的 dependencies 或 devDependencies 中。
(3)卸载依赖npm uninstall
npm uninstall -g
npm uninstall --save-dev
npm uninstall lodash
(4)运行脚本(npm scripts)package.json 的 scripts 字段可以定义快捷命令,如启动开发服务器、运行测试等。
示例:
{
"scripts": {
"start": "node index.js",
"dev": "vite",
"build": "vite build",
"test": "jest"
}
}运行脚本:
npm run dev # 运行 dev 脚本
npm run build # 运行 build 脚本
npm start # 运行 start(可省略 run)
npm test # 运行 test(可省略 run)
3. npm 常用命令速查表
命令
作用
npm init
初始化项目
npm install
安装所有依赖
npm install
安装指定包
npm uninstall
卸载包
npm update
更新所有依赖
npm outdated
检查过时的依赖
npm list
查看已安装的依赖
npm run
运行自定义脚本
npm publish
发布自己的包
npm login
登录 npm 账号
npm cache clean
清理缓存
4. 常见问题 & 优化技巧(1)npm 安装慢?试试这些方法
切换镜像源(如淘宝源):
**使用 --prefer-offline**(优先使用缓存):
**使用 pnpm 或 yarn**(更快的替代工具):
(2)**node_modules** 太大?
使用 npm prune 删除未使用的依赖
使用 pnpm 或 yarn 减少磁盘占用
(3)如何更新 npm?npm install -g npm@latest5. 总结
npm 是 Node.js 的包管理器,用于管理 JavaScript 依赖。
核心操作:npm init、npm install、npm run。
优化技巧:换镜像源、使用缓存、尝试 pnpm/yarn。
🚀 现在,尝试用 npm 创建一个新项目吧!
mkdir my-app && cd my-app
npm init -y
npm install express遇到问题?欢迎在评论区交流! 😊
原文地址:https://webfem.com/post/npm-intro,转载请注明出处