npm 配置
- 優(yōu)先級(jí)從高到低介紹
- 命令行標(biāo)記
--foo bar- 設(shè)置foo配置的值為bar
- 如果foo標(biāo)簽后面沒(méi)有寫(xiě)bar, 默認(rèn)則是true
-
-flag1 --flag2 -- bar設(shè)flag1,flag2為true, bar則作為命令行參數(shù)傳入
- 環(huán)境變量
- 任何以
npm_config_開(kāi)頭的環(huán)境變量都會(huì)被視為npm的配置參數(shù) - 環(huán)境變量忽略大小寫(xiě),因此也可以是
NPM_CONFIG_
- 任何以
- npmrc文件
- 默認(rèn)配置
-
npm config ls -l可查看所有的配置信息 -
npm config -g(--global)查看指定的配置項(xiàng)的值 -
npm config -gpld復(fù)合命令等價(jià)于npm ls --global --parseable --long --loglevel info
-
-
package.json配置項(xiàng)configscript,當(dāng)運(yùn)行npm時(shí),package中的配置將會(huì)覆蓋環(huán)境中對(duì)應(yīng)的參數(shù)配置 -
npm owner ls <pkgname>查看包的所有者信息,在npm上注冊(cè)的所有包都可查
npm package-lock.json
- package-lock.json不能被發(fā)布到npmjs.com
- 當(dāng)package下同時(shí)存在package-lock.json和npm-shrinkwrap.json時(shí),package-lock.json將會(huì)被忽略。
- package-lock出現(xiàn)原因
- 不同的npm版本對(duì)包樹(shù)結(jié)構(gòu)的生成算法不同
- 當(dāng)前依賴(lài)的包已經(jīng)發(fā)布了新的版本
-當(dāng)前依賴(lài)的包的依賴(lài)已經(jīng)發(fā)布了新的版本 - package-lock.json是當(dāng) node_modules 或 package.json 發(fā)生變化時(shí)自動(dòng)生成的文件。這個(gè)文件主要功能是確定當(dāng)前安裝的包的依賴(lài),以便后續(xù)重新安裝的時(shí)候生成相同的依賴(lài),而忽略項(xiàng)目開(kāi)發(fā)過(guò)程中有些依賴(lài)已經(jīng)發(fā)生的更新。
4.npm-shrinkwrap.json 指的是可發(fā)布的lock文件(在開(kāi)發(fā)階段依賴(lài)穩(wěn)定后使用)
- shrinkwrap計(jì)算時(shí)是根據(jù)當(dāng)前依賴(lài)安裝的目錄結(jié)構(gòu)生成的。使用前最好做一次依賴(lài)清理與重新安裝
npm shrinkwrapnpm shrinkwrap--dev//將dev-dependencies計(jì)算在內(nèi)