npm 和 cnpm 的區別,你真的搞懂了嘛

一、 npm 和 cnpm 的區別

相信不少人都不太明白 npm 和 cnpm 究竟是什麼東東, 爲啥在國內要用 淘寶鏡像使用 cnpm,css

(1) 二者之間只是 node 中包管理器的不一樣喲,node

(2) npm是node官方的包管理器。cnpm是個中國版的npm,是淘寶定製的 cnpm (gzip 壓縮支持) 命令行工具代替默認的 npm:webpack

(3)若是由於網絡緣由沒法使用npm下載,那cnpm這個就派上用場了。git

  必定切記切記,npm和cnpm只是下載器的不一樣,好像npm用人力板車去拉包,而cnpm卻使用貨車去運包。 而存包的地址則在下文nrm的查看,github

二、 nrm的使用

不少人都說若是 npm 速度不夠快。 繼而使用 web

npm install -g cnpm --registry=https://registry.npm.taobao.org

  這個命令行 就可使用 cnpm 了。express

可是它的實質是 npm

  (1)全局安裝 cnpm json

  (2)而且將安裝 ' '(各類包) 的地址切換到 國內的淘寶鏡像
gulp

這裏面省略了一個很重要的東西,就是 nrm 的使用,這個包的功能可讓咱們隨意的切換咱們下載包的地址。 

  (1)若是裝好了 cnpm 能夠, cnpm i nrm -g 

     (2)nrm ls 查看全部 包下載路徑, 也就是存放包的不一樣位置,天然就有取包的速度區分

 

  

 

 

 

   (3)nrm use 使用包路徑, 固然也能夠直接用 nrm help 查看 nrm 功能幫助

  若是沒有了解過npm、 cnpm 的朋友能夠再往下看詳細理解如下

三、npm介紹

3.一、說明:npm(node package manager)nodejs的包管理器,用於node插件管理(包括安裝、卸載、管理依賴等);

3.二、使用npm安裝插件:命令提示符執行npm install <name> [-g] [--save-dev]

3.2.一、<name>:node插件名稱。例:npm install gulp-less --save-dev

3.2.二、-g:全局安裝。將會安裝在C:\Users\Administrator\AppData\Roaming\npm,而且寫入系統環境變量;  非全局安裝:將會安裝在當前定位目錄;  全局安裝能夠經過命令行在任何地方調用它,本地安裝將安裝在定位目錄的node_modules文件夾下,經過require()調用; 

ES6 能夠直接使用 import 調用,前提安裝如下 包

(1) cnpm i babel-core babel-loader@7 babel-plugin-transform-runtime -D  (須要指定版本,babel官網指定說明的)

(2) cnpm i babel-preset-env babel-preset-stage-0 -D

3.2.三、--save:將保存配置信息至package.json(package.json是nodejs項目配置文件);

3.2.四、-dev:保存至package.json的devDependencies節點,不指定-dev將保存至dependencies節點;通常保存在dependencies的像這些express/ejs/body-parser等等。

3.2.五、爲何要保存至package.json?由於node插件包相對來講很是龐大,因此不加入版本管理,將配置信息寫入package.json並將其加入版本管理,其餘開發者對應下載便可(命令提示符執行npm install,則會根據package.json下載全部須要的包,npm install --production只下載dependencies節點的包)。

3.三、使用npm卸載插件:npm uninstall <name> [-g] [--save-dev]  PS:不要直接刪除本地插件包

3.3.一、刪除所有插件:npm uninstall gulp-less gulp-uglify gulp-concat ……???太麻煩

3.3.二、藉助rimraf:npm install rimraf -g 用法:rimraf node_modules

3.四、使用npm更新插件:npm update <name> [-g] [--save-dev]

3.4.一、更新所有插件:npm update [--save-dev]

3.五、查看npm幫助:npm help

3.六、當前目錄已安裝插件:npm list

PS:npm安裝插件過程:從http://registry.npmjs.org下載對應的插件包(該網站服務器位於國外,因此常常下載緩慢或出現異常),解決辦法往下看↓↓↓↓↓↓。

四、選裝cnpm

4.一、說明:由於npm安裝插件是從國外服務器下載,受網絡影響大,可能出現異常,若是npm的服務器在中國就行了,因此咱們樂於分享的淘寶團隊幹了這事。32個贊!來自官網:「這是一個完整 npmjs.org 鏡像,你能夠用此代替官方版本(只讀),同步頻率目前爲 10分鐘 一次以保證儘可能與官方服務同步。」

4.二、官方網址:http://npm.taobao.org

4.三、安裝:命令提示符執行npm install -g cnpm --registry=https://registry.npm.taobao.org;  注意:安裝完後最好查看其版本號cnpm -v或關閉命令提示符從新打開,安裝完直接使用有可能會出現錯誤;

注:cnpm跟npm用法徹底一致,只是在執行命令時將npm改成cnpm(如下操做將以cnpm代替npm)。

 

六、新建package.json文件

6.一、說明:package.json是基於nodejs項目必不可少的配置文件,它是存放在項目根目錄的普通json文件;

6.二、它是這樣一個json文件(注意:json文件內是不能寫註釋的,並且必須是雙引號,複製下列內容請刪除註釋)

6.四、查看package.json幫助文檔,命令提示符執行cnpm help package.json

特別注意:package.json是一個普通json文件,因此不能添加任何註釋。

 

小Tips: npm 安裝 -D 和-S的區別

一、-D 是在開發環境中協助開發須要使用的

二、-S是生產環境打包時須要的

三、在package.json中 -D在devDependencies對象中,-S在dependencies對象中

 

---------------------------------------------------------分割線---------------------------------------------------

 

查資料總結不易,以爲好能夠關注,後續還有繼續推文噢,原創,引用請註明地址

相關文章
相關標籤/搜索