01-NPM依賴包的管理工具

一可婶、NodeJS環(huán)境

  • 什么是nodejs
   - 不是JS文件,也不是一個(gè)JS框架()
   - 而是Server side Javascript runtime, 服務(wù)端的一個(gè)JS運(yùn)行時(shí)
   - 可以在node運(yùn)行JS代碼
   - node中只能運(yùn)行ECMAScript,無法使用 BOM 和 DOM
   - 目前我們的JS是運(yùn)行在瀏覽器內(nèi)核中
   - PHP是什么杯活?是一門腳本語言也是一個(gè)運(yùn)行環(huán)境

node是一個(gè)基于chrome v8引擎的javascript的運(yùn)行環(huán)境。node使用事件驅(qū)動(dòng)熬词、非阻塞式I/O的模型旁钧,使其輕量又高效。node的包管理器npm互拾,是全球最大的開源庫生態(tài)系統(tǒng)歪今。

二、Node環(huán)境搭建

  • mac node (建議使用nvm安裝颜矿,方便版本切換)
    pkg安裝包

  • mac NVM(Node Version Manager)

    $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash
    $ echo '. ~/.nvm/nvm.sh' >> .bash_profile
    $ nvm install stable
    $ nvm alias default stable
    
  • Windows node (建議使用nvm安裝寄猩,方便版本切換)
    msi_x64 64位安裝包
    msi_x86 32位安裝包

  • windows nvm

    • 下載nvm包,選擇第一個(gè): nvm-noinstall.zip
    • 將文件內(nèi)容解壓到例如 c:\dev\nvm (將文件拷貝到c:\dev\nvm骑疆,解壓到當(dāng)前文件夾)
    • 雙擊install.cmd不用輸入田篇,直接回車,之后再c盤中會(huì)生成一個(gè)settings.txt文件封断,將該文件剪切到c:\dev\nvm目錄中
  root: C:\dev\nvm
  path: C:\dev\nodejs
  arch: 64 
  proxy: none 
  node_mirror: http://npm.taobao.org/mirrors/node/ 
  npm_mirror: https://npm.taobao.org/mirrors/npm/
  • 配置環(huán)境變量斯辰。剛才點(diǎn)擊install.cmd文件,會(huì)在環(huán)境變量的系統(tǒng)變量中生成兩個(gè)環(huán)境變量:NVM_HOMENVM_SYMLINK坡疼;修改這兩個(gè)變量值彬呻,NVM_HOME變量值為: C:\dev\nvm;NVM_SYMLINK變量值為: C:\dev\nodejs; ,在path后面添;%NVM_HOME%;%NVM_SYMLINK%;
  • 打開命令行: nvm v可以看到nvm版本信息闸氮,即表示安裝完成剪况;
  • 如果沒有安裝node,可以通過nvm install latest蒲跨,下載node最新版本译断;
第一次下載,在使用use之前或悲,`C:\dev`目錄下沒有nodejs文件夾孙咪,輸入例如nvm use 6.3.0后,久會(huì)在`C:\dev`目錄中看到nodejs文件夾巡语;
nodejs不是單純的文件夾翎蹈,它是一個(gè)快捷方式,指向`C:\dev\nvm`中v6.3.0文件夾男公;
`C:\dev\nvm`文件夾下的vx.x.x即nodejs對(duì)應(yīng)版本荤堪;

nvm list 查看已經(jīng)安裝的版本(版本號(hào)前面有帶*,表示當(dāng)前使用版本)
nvm install 6.3.0 安裝對(duì)應(yīng)node對(duì)應(yīng)版本
nvm use 6.3.0 使用對(duì)應(yīng)node版本

nvm --- node version manager(node版本管理器)枢赔,因?yàn)镹ODE版本比較多澄阳,開發(fā)人員可能依賴很多版本;通過NVM踏拜,可以輕松切換于不同的版本之間碎赢;

三、NPM

NPM官網(wǎng)

  • NPM是什么
    Node Package Manager即是Node應(yīng)用程序依賴包的管理工具速梗,方便于安裝卸載更新等操作揩抡;
    NPM是 Node 的開放式模塊登記和管理系統(tǒng),亦可以說是一個(gè)生態(tài)圈镀琉,一個(gè)社區(qū);

  • 為什么使用NPM

  - 包很多
  - 場(chǎng)景:我需要用一個(gè)A,A依賴B蕊唐,B依賴C
  - 常見的包管理工具都有循環(huán)依賴的功能
  - 你只需記住你要什么東西
  • 常見的NPM操作

// 引導(dǎo)創(chuàng)建一個(gè)package.json文件(安裝包的信息可保持到項(xiàng)目的package.json文件中屋摔,以便后續(xù)的其它的項(xiàng)目開發(fā)或者他人合作使用,也說package.json在項(xiàng)目中是必不可少的)
$ npm init

// 安裝一個(gè)包替梨,默認(rèn)安裝最新穩(wěn)定版本
$ npm install package_name // 本地安裝
$ npm install package_name -g // 全局安裝

// 安裝特定版本的包
$ npm install package_name@版本號(hào)

// 卸載
$ npm uninstall package_name // 卸載本地
$ npm uninstall package_name -g // 卸載全局

// 更新
$ npm update -g

// 查看依賴和它們之間的關(guān)系
$ npm ls
// 查看主要的依賴
$ npm ls --depth=0
// 查看全局的所有包()
$ npm ls --depth=0 -g



> 每個(gè)版本的nodejs中钓试,都會(huì)自帶npm,為了統(tǒng)一起見副瀑,需要安裝一個(gè)全局的npm工具是有必要的弓熏,因?yàn)槲覀冃枰惭b一些全局的其他包,不會(huì)因?yàn)榍袚Qnode版本造成原來下載過的包不可用糠睡。
`$ npm config set prefix 'C:\dev\nvm\npm'`
// 上述是配置npm的全局安裝路徑挽鞠,然后用戶文件夾下會(huì)生成一個(gè).npmrc的文件,文件內(nèi)容為: `prefix=C:\dev\nvm\npm`
// 如果不使用上面方法,可以手動(dòng)在用戶文件夾下(C:\User\liming)創(chuàng)建.npmrc文件信认,文件內(nèi)容為: `prefix=C:\dev\nvm\npm`

> `$ npm install npm -g `
// 下載npm包材义,在`C:\dev\nvm\npm`目錄中可以看到下載中的文件,以后用nmp安裝包時(shí)加上`-g`就可以把包安裝在`C:\dev\nvm\npm`的全局路徑下
// 再為這個(gè)npm配置環(huán)境變量嫁赏,變量名`NPM_HOME`其掂,變量值`C:\dev\nvm\npm`;然后再path最前面添加`;%NPM_HOME%`潦蝇,注意該變量一定是加載`%NVM_SYMLINK%`之前款熬;
// 如果安裝不了(npm鏡像源默認(rèn)是在國(guó)外),可以先執(zhí)行安裝cnpm工具攘乒,之后通過cnpm安裝: `cnpm install npm -g`

>  `$ npm -v`
// 查看npm的版本贤牛,此時(shí)使用的都是統(tǒng)一的nmp包了

> `$ npm install -g cnpm --registry=https://registry.npm.taobao.org` 
安裝cnpm工具,并設(shè)置淘寶的鏡像庫持灰,中國(guó)版的npm鏡像庫盔夜,`https://registry.npm.taobao.org/`淘寶的,`https://cnpmjs.org/`cnpm工具的堤魁, 他們都是npm官方的一個(gè)拷貝喂链,他們會(huì)每隔10分鐘同步一次  【非必要操作,如果下載比較慢可以切換到國(guó)內(nèi)鏡像】
> cnpm工具包如何安裝妥泉? `cnpm install page_name -g`即將npm換為cnpm即可


# 四椭微、NRM
NRM(Node Registry Manager)即是方便管理NPM的鏡像源選擇;

$ npm install -g nrm // 安裝nrm
$ nrm ls // 查看鏡像源列表
$ nrm use taobao // 即使用taobao的這個(gè)鏡像源
$ nrm test // 測(cè)試鏡像源的速度


# 五盲链、Bower
[Bower官網(wǎng)](http://bower.io/)
- 什么是Bower
web應(yīng)用程序依賴項(xiàng)管理工具【包的管理工具蝇率,還是重復(fù)的輪子】

- 為什么使用Bower
方便便捷的方式管理包

- Bower安裝
$ npm install bower -g

- Bower使用
$ bower install page_name
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市刽沾,隨后出現(xiàn)的幾起案子本慕,更是在濱河造成了極大的恐慌,老刑警劉巖侧漓,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锅尘,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡布蔗,警方通過查閱死者的電腦和手機(jī)藤违,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纵揍,“玉大人顿乒,你說我怎么就攤上這事≡蠼鳎” “怎么了璧榄?”我有些...
    開封第一講書人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵特漩,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我犹菱,道長(zhǎng)拾稳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任腊脱,我火速辦了婚禮访得,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘陕凹。我一直安慰自己悍抑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開白布杜耙。 她就那樣靜靜地躺著搜骡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪佑女。 梳的紋絲不亂的頭發(fā)上记靡,一...
    開封第一講書人閱讀 49,111評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音团驱,去河邊找鬼摸吠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛嚎花,可吹牛的內(nèi)容都是我干的寸痢。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼紊选,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼啼止!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起兵罢,我...
    開封第一講書人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤献烦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后卖词,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仿荆,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年坏平,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锦亦。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡舶替,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出杠园,到底是詐尸還是另有隱情顾瞪,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站陈醒,受9級(jí)特大地震影響惕橙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜钉跷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一弥鹦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧爷辙,春花似錦彬坏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至血当,卻和暖如春幻赚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背臊旭。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工落恼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人巍扛。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓领跛,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親撤奸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子吠昭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容