1. 程式人生 > >那些年我們對npm 和 cnpm 的誤區

那些年我們對npm 和 cnpm 的誤區

email 包括 bsp ali core cti font 出現異常 根據

1、 npm 和 cnpm 的區別

相信很多人都不太明白 npm 和 cnpm 到底是什麽東東, 為啥在國內要用 淘寶鏡像使用 cnpm,

(1) 兩者之間只是 node 中包管理器的不同喲,

(2) cnpm是個中國版的npm,如果因為網絡原因無法使用npm下載,那這個就派上用場了。

2、 nrm的使用

很多人都說如果 npm 速度不夠快。 繼而使用

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

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

但是它的實質是

  (1)全局安裝 cnpm

  (2)並且將安裝 包 的地址切換到 國內的淘寶鏡像

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

  (1)如果裝好了 cnpm 可以, cnpm i nrm -g

  (2)nrm ls 查看所有 包下載路徑,

  (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) 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.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、刪除全部插件:npm uninstall gulp-less gulp-uglify gulp-concat ……???太麻煩

3.3.2、借助rimraf:npm install rimraf -g 用法:rimraf node_modules

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

3.4.1、更新全部插件:npm update [--save-dev]

3.5、查看npm幫助: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)。

6、新建package.json文件

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

6.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": {    //項目依賴的插件
  }
}

6.3、當然我們可以手動新建這個配置文件,但是作為一名有誌青年,我們應該使用更為效率的方法:命令提示符執行cnpm init -y

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

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

那些年我們對npm 和 cnpm 的誤區