npm介紹及安裝使用


1     npm來源

其實很奇怪,為什么現在很多前端開發要用到npm呢?這個npm又是什么呢?我們先來了解一下npm的歷史:

1.1   起因

在以前開發前端的時候用到jquery就要到官網下載 jquery,要使用bootstrap就要到bootstrap官網下載bootstrap.js,要使用underscore就要到underscore官網下載相關的js(當然現在很多時候我也是這么做的)。但是有一個外國程序員不願意這么干了,一位被稱為擁有三大美德的程序員 Isaac Z. Schlueter決定建立一個倉庫把這些代碼集中起來管理。

NPM 的思路大致是這樣的:

1. 買個服務器作為代碼倉庫(registry),在里面放所有需要被共享的代碼

2. 發郵件通知 jQuery、Bootstrap、Underscore 作者使用 npm publish 把代碼提交到 registry 上,分別取名 jquery、bootstrap 和 underscore(注意大小寫)

3. 社區里的其他人如果想使用這些代碼,就把 jquery、bootstrap 和 underscore 寫到 package.json 里,然后運行 npm install ,npm 就會幫他們下載代碼

4. 下載完的代碼出現在 node_modules 目錄里,可以隨意使用了。

這些可以被使用的代碼被叫做「包」(package),這就是 NPM 名字的由來:Node Package(包) Manager(管理器)。

1.2   發展

Isaaz 通知 jQuery 作者 John Resig,他會答應嗎?這事兒不一定啊,對不對。

只有社區里的人都覺得 「npm 是個寶」的時候,John Resig 才會考慮使用 npm。

那么 npm 是怎么火的呢?

npm 的發展是跟 Node.js 的發展相輔相成的。

Node.js (什么是node.js)是由一個在德國工作的美國程序員 Ryan Dahl 寫的。他寫了 Node.js,但是 Node.js 缺少一個包管理器,於是他和 npm 的作者一拍即合、抱團取暖,最終 Node.js 內置了 npm。

后來的事情大家都知道,Node.js 火了。

隨着 Node.js 的火爆,大家開始用 npm 來共享 JS 代碼了,於是 jQuery 作者也將 jQuery 發布到 npm 了。

所以現在,你可以使用 npm install jquery 來下載 jQuery 代碼。

現在用 npm 來分享代碼已經成了前端的標配。

1.3   后續

Node.js 目前由 Ryan Dahl 當時所在的公司 joyent 繼續開發。Ryan Dahl 現在已經去研究 AI 和機器學習了,並且他把 Node.js 的維護權交給了 Isaaz。(我是不是也應該去研究 AI 和機器學習啊教練)

而 Isaaz 維護了一段時間后,辭職了,成立了一個公司專門維護 npm 的 registry,公司名叫做 npm 股份有限公司

1.4   node.js

簡單的說 Node.js 就是運行在服務端的 JavaScript。

Node.js 是一個基於Chrome JavaScript 運行時建立的一個平台。

Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。

 

2     npm的安裝使用

2.1   node安裝

由於npm是node的包管理器,是node集合了npm。因此要先安裝node:

https://nodejs.org/zh-cn/

 

點擊下載安裝:

 

下一步:

 

選擇安裝位置:

 

下一步:

 

默認設置,下一步:

 

可選可不選,選中自動安裝一些必要的工具。下一步:

 

完成

 

然后會自動安裝一些工具:

 

完成后,可以打開cmd,輸入:npm -v

 

成功顯示npm版本即表示安裝成功

2.2   使用淘寶 NPM 鏡像

由於npm的官方網站是國外的網站,因此國內訪問npm會比較慢。因此建議使用淘寶npm鏡像。淘寶 NPM 鏡像是一個完整 npmjs.org 鏡像,你可以用此代替官方版本(只讀),同步頻率目前為 10分鍾 一次以保證盡量與官方服務同步。

你可以使用淘寶定制的 cnpm (gzip 壓縮支持) 命令行工具代替默認的 npm:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM