目錄
- 1、 npm 和 cnpm 的差別
- 2、 nrm的使用
- 3、npm介紹
- 4、選裝cnpm
- 5、建立package.json檔案
1、 npm 和 cnpm 的差別
(1) 兩者之間隻是 node 中包管理器的不同。
(2) npm是node官方的包管理器。cnpm是個中國版的npm,是淘寶定制的 cnpm (gzip 壓縮支援) 指令行工具代替預設的 npm。
(3)如果因為網絡原因無法使用npm下載下傳,那cnpm這個就派上用場了。
一定切記切記,npm和cnpm隻是下載下傳的位址不同,npm是從國外下載下傳東西,cnpm是從國内下載下傳東西。
來自淘寶NPM鏡像官網的說明:
“這是一個完整 npmjs.org 鏡像,你可以用此代替官方版本(隻讀),同步頻率目前為 10分鐘 一次以保證盡量與官方服務同步。”
而存包的位址可以使用 nrm 檢視。
2、 nrm的使用
因為衆所周知的原因,國外下載下傳賊慢,還經常失敗。 是以國内使用
npm install -g cnpm --registry=https://registry.npm.taobao.org
這個指令行,安裝cnpm 。
但是它的實質是
(1)全局安裝 cnpm
(2)并且将安裝
包
(各種包) 的位址切換到 國内的淘寶鏡像
這裡面省略了一個很重要的東西,就是 nrm 的使用,這個包的功能可以讓我們随意的切換我們下載下傳包的位址。
(1)如果裝好了 cnpm 可以, cnpm i nrm -g
(2)nrm ls 檢視所有 包下載下傳路徑, 也就是存放包的不同位置,自然就有取包的速度區分
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN2XjlGcjAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL6VFRNVTQU9UeRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL4UTN4IzMzITM3EDOwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
(3)nrm use 使用包路徑, 當然也可以直接用 nrm help 檢視 nrm 功能幫助
如果沒有了解過npm、 cnpm 的朋友可以再往下看詳細了解以下
3、npm介紹
3.1、說明:npm(node package manager)是 nodejs 的包管理器,用于node插件管理(包括安裝、解除安裝、管理依賴等);
3.2、使用npm安裝插件:指令提示符執行
npm install <name> [-g] [--save-dev];
3.2.1、<name>:node插件名稱。例:
npm install gulp-less --save-dev
3.2.2、-g:全局安裝。将會安裝在
C:\Users\Administrator\AppData\Roaming\npm
并且寫入系統環境變量,全局安裝可以通過指令行在任何地方調用它。
非全局安裝:将會安裝在目前定位目錄的node_modules檔案夾下,通過require()調用;
ES6 可以直接使用 import 調用,前提安裝以下 包
(1)
(2)
cnpm i babel-preset-env babel-preset-stage-0 -D
3.2.3、–save:将儲存配置資訊至package.json(package.json是nodejs項目配置檔案);
3.2.4、-dev:儲存至package.json的devDependencies節點,不指定-dev将儲存至dependencies節點;一般儲存在dependencies的像這些express/ejs/body-parser等等。
3.2.5、為什麼要儲存至package.json?因為node插件包相對來說非常龐大,是以不加入版本管理,将配置資訊寫入package.json并将其加入版本管理,其他開發者對應下載下傳即可(指令提示符執行npm install,則會根據package.json下載下傳所有需要的包,npm install --production隻下載下傳dependencies節點的包)。
3.3、使用npm解除安裝插件:
npm uninstall <name> [-g] [--save-dev] PS:不要直接删除本地插件包
3.3.1、删除全部插件:
太麻煩
3.3.2、借助rimraf:npm install rimraf -g 用法:
rimraf node_modules
3.4、使用npm更新插件:
3.4.1、更新全部插件:
npm update [--save-dev]
java
3.5、檢視npm幫助:
```java
npm help
3.6、目前目錄已安裝插件:
npm list
PS:npm安裝插件過程:從http://registry.npmjs.org下載下傳對應的插件包(該網站伺服器位于國外,是以經常下載下傳緩慢或出現異常),解決辦法往下看↓↓↓↓↓↓。
4、選裝cnpm
4.1、說明:因為npm安裝插件是從國外伺服器下載下傳,受網絡影響大,可能出現異常,如果npm的伺服器在中國就好了,是以我們樂于分享的淘寶團隊幹了這事。32個贊!來自官網:“這是一個完整 npmjs.org 鏡像,你可以用此代替官方版本(隻讀),同步頻率目前為 10分鐘 一次以保證盡量與官方服務同步。”;
4.2、官方網址:http://npm.taobao.org;
4.3、安裝:指令提示符執行
npm install -g cnpm --registry=https://registry.npm.taobao.org
注意:安裝完後最好檢視其版本号cnpm -v或關閉指令提示符重新打開,安裝完直接使用有可能會出現錯誤;
注:cnpm跟npm用法完全一緻,隻是在執行指令時将npm改為cnpm(以下操作将以cnpm代替npm)。
5、建立package.json檔案
5.1、說明:package.json是基于nodejs項目必不可少的配置檔案,它是存放在項目根目錄的普通json檔案;
5.2、它是這樣一個json檔案(注意:json檔案内是不能寫注釋的,而且必須是雙引号,複制下列内容請删除注釋):
{
"name": "test", //項目名稱(必須)
"version": "1.0.0", //項目版本(必須)
"description": "This is for study webpack project !", //項目描述(必須)
"homepage": "", //項目首頁
"repository": { //項目資源庫
"type": "git",
"url": "https://xxx/xxxx"
},
"author": { //項目作者資訊
"name": "....",
"email": "[email protected]"
},
"license": "ISC", //項目許可協定
"devDependencies": { //項目依賴的插件
}
}
5.3、當然我們可以手動建立這個配置檔案,但是作為一名有志青年,我們應該使用更為效率的方法:指令提示符執行cnpm init -y
5.4、檢視package.json幫助文檔,指令提示符執行cnpm help package.json
特别注意:package.json是一個普通json檔案,是以不能添加任何注釋。
小Tips: npm 安裝 -D 和-S的差別
1、-D 是在開發環境中協助開發需要使用的
2、-S是生産環境打包時需要的
3、在package.json中 -D在devDependencies對象中,-S在dependencies對象中
---------------------------------------------------------分割線---------------------------------------------------
本文轉自:https://www.cnblogs.com/chase-star/p/10455703.html