package.json管理
- npm init
通過問答式交互來產(chǎn)生包的信息,并最終在當(dāng)前目錄下生成package.json文件 - npm init --yes
直接生成一個(gè)默認(rèn)的package.json文件菲语,其中name為當(dāng)前目錄名妄辩,version是1.0.0,main為index.js谨究,其他大多數(shù)字段都是空
包的安裝/卸載/更新
- npm install [-g] [--save | --save-dev [--save-exact]] <包名>@[<tag> | <version>]
按package.json設(shè)置的版本規(guī)則來安裝對(duì)應(yīng)的包恩袱,使用--save則會(huì)在package.json的dependencies添加條目;使用--save-dev則是在devDenpendencies添加條目胶哲;默認(rèn)行為是--save畔塔;此外還可以使用--save-exact來使得往package.json寫入的版本規(guī)則為當(dāng)前安裝的版本號(hào)而非^x.x.x這樣的版本規(guī)則
如果帶上-g參數(shù)則表示全局安裝包,默認(rèn)是本地安裝鸯屿;
可以通過@<tag>或@<version>來指定安裝的包的標(biāo)記或版本
如果不帶包名澈吨,則按照package.json列舉的引用包進(jìn)行全部安裝 - npm uninstall [-g] [--save | --save-dev [--save-exact]] <包名>
卸載時(shí)應(yīng)采用和安裝時(shí)一樣的參數(shù)來對(duì)包進(jìn)行卸載 - npm update [-g] [--save] <包名>
默認(rèn)只更新頂層依賴包;不帶包名的話則進(jìn)行全部更新寄摆;帶上--save參數(shù)的話谅辣,則會(huì)把package.json里的版本規(guī)則也更新到新版規(guī)則 - npm outdated [-g]
列出有新版本可供更新的包,默認(rèn)只列出依賴樹頂層的包
運(yùn)行腳本
package.json里可以通過配置scripts條目來提供腳本運(yùn)行能力
- npm run-script或run <command> [-- <args>...]
如果有參數(shù)想傳遞給腳本婶恼,那在命令之后添加 -- 桑阶,--之后的所有參數(shù)都會(huì)被直接傳遞給腳本
腳本的運(yùn)行環(huán)境除了系統(tǒng)的PATH變量柏副,也會(huì)把node_modules/.bin添加到PATH再傳給腳本,方便使用
查詢
- npm search <內(nèi)容>
用于從npm的庫中查找匹配的包蚣录,可以使用JS的正則表達(dá)式的形式割择,注意這里是匹配包的元信息,而不是單單匹配包名 - npm view/show/info <包名> <字段>
打印出包的元信息萎河,也可以用作包的精確匹配查找
利用字段參數(shù)可以選擇性打印出對(duì)應(yīng)的元信息字段