- package.json
- npm install會依此下載依賴包,放到項目的node_modules目錄下
- "dependencies"中定義了需要依賴包(module)和版本
- "devDependencies"中定義了開發環境需要以來包(module)和版本
- '^'(插入符號): 這個符號就顯得非常的靈活了,他將會把當前庫的版本更新到當前major version(也就是第一位數字)中最新的版本。放到我們的例子中就是:"vue": "^2.2.2", 這個庫會去匹配2.x.x中最新的版本,但是他不會自動更新到3.0.0。
- '~'(波浪符號):他會更新到當前minor version(也就是中間的那位數字)中最新的版本。放到我們的例子中就是:"exif-js": "~2.3.0",這個庫會去匹配更新到2.3.x的最新版本,如果出了一個新的版本為2.4.0,則不會自動升級。波浪符號是曾經npm安裝時候的默認符號,現在已經變為了插入符號。
- package-lock.json
- npm install實際下載的依賴包(module)和版本
- 可能與package.json中定義的版本不同,因為package.json中可能會用^、~等表達式模糊指定版本
- npm install
- 根據package.json定義的依賴包(module)和版本去下載和放到項目中
- 如果通過npm install xxx來安裝指定的組件及版本,那么也會同步自動更新package.json,也就是說npm install的操作和package.json的內容一定是一致的。
- 查看npm的相關配置及環境變量配置
- npm config list
- 緩存
- 全局緩存位置:C:\Users{username}\AppData\Roaming\npm-cache
- 貌似也有一部分依賴於TypeScript的依賴包的位置在:C:\Users\z003xxxe\AppData\Local\Microsoft\TypeScript{version}\node_modules
- 修改緩存位置
- npm config set prefix "D:\ProgramFile\nodejs\node_modules\node_global"
- npm config set cache "D:\ProgramFile\nodejs\node_modules\node_cache"
- 設置npm鏡像源
- npm config set registry https://registry.npm.taobao.org --global
- npm config set disturl https://npm.taobao.org/dist --global