查看完整手冊: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