查看完整手册:http://javascript.ruanyifeng.com/nodejs/npm.html
别名
i: install
-g: -global
-S: -save
-D: -save-dev
初始化
# 更新自身
npm install npm@latest -g
# 初始化生成一个新的package.json文件。-f(代表force)、-y(代表yes,则跳过提问阶段)
npm init -y
通配符
• * 匹配0个或多个字符
• ? 匹配1个字符
• [...] 匹配某个范围的字符。如果该范围的第一个字符是!或^,则匹配不在该范围的字符。
• !(pattern|pattern|pattern) 匹配任何不符合给定的模式
• ?(pattern|pattern|pattern) 匹配0个或1个给定的模式
• +(pattern|pattern|pattern) 匹配1个或多个给定的模式
• *(a|b|c) 匹配0个或多个给定的模式
• @(pattern|pat*|pat?erN) 只匹配给定模式之一
• ** 如果出现在路径部分,表示0个或多个子目录。
安装
# 本地安装
npm install <包名>
# 全局安装
npm install -g <package name>
# 重新安装
npm install <packageName> --force
# 全部模块重新安装
rm -rf node_modules && npm install
# 安装特定版本
npm install sax@latest
npm install sax@0.1.1
npm install sax@">=0.1.0 <0.2.0"
# 安装并保存,-S 添加到dependencies,-D 添加到devDependencies
npm install vue@latest -S
# 卸载已安装的模块
npm uninstall [package name]
# 卸载全局模块
npm uninstall [package name] -global
运行
# 列出scripts属性下所有命令
npm run
# 运行特定脚本
npm run watch
# start和test属于特殊命令,可以省略run
npm start
# 添加参数,则参数之前要加上两个连词线
npm run test -- [args...]
# 参数-s,表示关闭npm本身的输出,只输出脚本产生的结果
npm run -s test
维护
# 以树型结构列出当前项目安装的所有模块,以及它们依赖的模块
npm list
# 列出全局安装的模块
npm list -global
# 列出单个模块
npm list underscore
# 检查当前项目所依赖的模块,是否已经有新版本
npm outdated
# 检查当前项目的node_modules目录中,是否有package.json里面没有提到的模块
npm prune
# 升级当前项目的指定模块
npm update [package name]
# 升级全局安装的模块
npm update -global [package name]
# 升级并更新package.json中模块的版本号
npm update -S [package name]
# 递归更新依赖。注意,从npm v2.6.1 开始,npm update只更新顶层模块,而不更新依赖的依赖
npm --depth 99 update
查找与查看包
# 搜索npm仓库
npm search <搜索词/正则表达式>
# 查看模块的具体信息
npm info <模块名>
# 查看模块的特定信息
npm info <模块名> description
# 打开一个模块的主页
npm home <模块名>
# 打开一个模块的代码仓
npm repo <模块名>
发布
# 向npmjs.com申请用户名
npm adduser
# 登录
npm login
# 发布
npm publish
# 发布到指定标签,默认的发布标签是latest
npm publish --tag beta
其他
# 查看 npm 命令列表
npm help
# 查看各个命令的简单用法
npm -l
# 查看 npm 的版本
npm -v
# 查看 npm 的配置
npm config list -l