Node.js 与 npm 命令大全及使用方案、场景
教程与经验
1
评论
1
发布者
2
浏览
-
目录
一、Node.js 核心命令
1. 基础运行命令
-
node [文件名]
- 功能:运行指定的 Node.js 脚本(默认执行
index.js
) - 场景:本地调试单个 JS 文件,如
node app.js
启动服务 - 示例:
node server.js
运行后端服务脚本
- 功能:运行指定的 Node.js 脚本(默认执行
-
node -v
/node --version
- 功能:查看当前 Node.js 版本
- 场景:确认环境版本是否符合项目要求(如检查是否安装成功)
-
node -h
/node --help
- 功能:查看 Node.js 命令帮助文档
- 场景:快速查询命令参数(如调试、内存限制等参数)
2. 调试与性能命令
-
node --inspect [文件名]
- 功能:开启调试模式,支持 Chrome DevTools 调试
- 场景:复杂逻辑调试,通过
chrome://inspect
链接调试 Node 程序 - 示例:
node --inspect app.js
启动带调试功能的服务
-
node --max-old-space-size=4096 [文件名]
- 功能:设置 Node.js 最大堆内存(单位 MB)
- 场景:解决大文件处理或复杂计算导致的内存溢出,如
node --max-old-space-size=8192 data-process.js
-
node --trace-warnings
- 功能:显示警告的详细调用栈
- 场景:排查代码中潜在的问题(如弃用 API 警告)
3. 其他实用命令
-
node -e "代码"
- 功能:直接执行单行 JS 代码
- 场景:快速测试简单逻辑,如
node -e "console.log(1+1)"
输出2
-
node --experimental-modules
- 功能:启用 ES 模块支持(无需在
package.json
中设置"type": "module"
) - 场景:测试 ES6 模块语法,如
node --experimental-modules module-test.mjs
- 功能:启用 ES 模块支持(无需在
二、npm 核心命令
1. 初始化与配置
-
npm init
- 功能:交互式创建
package.json
(项目描述文件) - 场景:新建项目时初始化配置,生成依赖管理文件
- 快捷方式:
npm init -y
直接生成默认配置
- 功能:交互式创建
-
npm config set [key] [value]
- 功能:设置 npm 配置(如镜像源、缓存路径)
- 场景:切换国内镜像加速下载,如
npm config set registry https://registry.npmmirror.com
-
npm config get [key]
- 功能:查看 npm 配置,如
npm config get registry
查看当前镜像源
- 功能:查看 npm 配置,如
2. 依赖管理
-
npm install [包名]
/npm i [包名]
- 功能:安装指定依赖(默认安装到
dependencies
,生产环境可用) - 场景:安装项目核心依赖(如
npm i express
安装 Web 框架)
- 功能:安装指定依赖(默认安装到
-
npm install [包名] --save-dev
/npm i [包名] -D
- 功能:安装开发依赖(仅开发环境使用,如打包工具、测试库)
- 场景:安装
webpack
、eslint
等开发工具,如npm i webpack -D
-
npm install [包名] -g
- 功能:全局安装依赖(可在命令行直接调用)
- 场景:安装全局工具(如
npm i nodemon -g
用于自动重启服务)
-
npm uninstall [包名]
/npm un [包名]
- 功能:卸载依赖(加
-g
卸载全局包,加-D
卸载开发依赖) - 场景:移除不再使用的包,如
npm un lodash
- 功能:卸载依赖(加
-
npm update [包名]
- 功能:更新依赖到
package.json
允许的最新版本 - 场景:升级非核心依赖以修复漏洞,如
npm update react
- 功能:更新依赖到
-
npm install [包名]@[版本号]
- 功能:安装指定版本的依赖
- 场景:解决版本兼容问题,如
npm i vue@2.6.14
3. 脚本与运行
-
npm run [脚本名]
- 功能:执行
package.json
中scripts
定义的脚本 - 场景:启动服务、打包、测试等,如
npm run dev
启动开发环境 - 简化命令:部分脚本可省略
run
,如npm start
(等价于npm run start
)
- 功能:执行
-
npm test
/npm t
- 功能:执行
scripts
中的test
脚本(如单元测试) - 场景:运行 Jest、Mocha 等测试框架,如
npm t
执行测试用例
- 功能:执行
4. 依赖分析与修复
-
npm list
/npm ls
- 功能:查看项目依赖树
- 场景:排查依赖版本冲突,如
npm ls react
查看 React 及其子依赖版本
-
npm outdated
- 功能:检查哪些依赖有新版本可用
- 场景:批量更新依赖前确认可升级的包
-
npm audit
- 功能:检查依赖中的安全漏洞
- 场景:修复潜在风险,如
npm audit fix
自动修复可修复的漏洞
5. 其他实用命令
-
npm cache clean --force
- 功能:清理 npm 缓存
- 场景:解决依赖安装失败(如缓存损坏导致的安装异常)
-
npm publish
- 功能:发布包到 npm 仓库
- 场景:开发并分享自己的 npm 包(需先
npm login
登录账号)
-
npm link
- 功能:本地链接包(开发时调试本地依赖)
- 场景:开发 npm 包时,在项目中实时测试修改,无需反复发布
三、典型使用场景与方案
1. 项目初始化与环境搭建
# 初始化项目 npm init -y # 设置国内镜像(加速下载) npm config set registry https://registry.npmmirror.com # 安装核心依赖(如 Express 后端框架) npm i express # 安装开发依赖(如 nodemon 自动重启服务) npm i nodemon -D # 在 package.json 中添加启动脚本 # "scripts": { "dev": "nodemon app.js" } # 启动开发服务 npm run dev
2. 依赖问题排查与修复
# 查看依赖树,排查版本冲突 npm ls axios # 检查安全漏洞并修复 npm audit npm audit fix # 强制清理缓存,解决安装失败 npm cache clean --force npm i # 重新安装依赖
3. 生产环境部署
# 安装生产依赖(忽略开发依赖) npm i --production # 运行生产环境脚本(如启动服务) npm run start # 检查 Node.js 版本是否符合要求 node -v
4. 开发与发布 npm 包
# 初始化包项目 npm init -y # 本地链接到测试项目(实时调试) npm link cd ../test-project npm link my-package # 链接本地包 # 登录 npm 账号(需先注册) npm login # 发布包(每次发布需更新版本号) npm version patch # 升级补丁版本(如 1.0.0 → 1.0.1) npm publish
四、常见问题与解决方案
- 依赖安装速度慢:切换国内镜像(
npm config set registry https://registry.npmmirror.com
) - 版本冲突:使用
npm ls [包名]
查看依赖树,指定版本安装(npm i [包名]@x.y.z
) - 全局包无法调用:检查 Node.js 安装路径是否加入系统环境变量(Windows 需手动添加
C:\Users\用户名\AppData\Roaming\npm
) - 内存溢出:运行时增加内存限制(
node --max-old-space-size=4096 app.js
)
-