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)是在國外),可以先執(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è)置淘寶的鏡像庫,中國版的npm鏡像庫,`https://registry.npm.taobao.org/`淘寶的,`https://cnpmjs.org/`cnpm工具的, 他們都是npm官方的一個(gè)拷貝,他們會(huì)每隔10分鐘同步一次  【非必要操作,如果下載比較慢可以切換到國內(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

作者:西門奄
鏈接:http://www.itdecent.cn/u/77035eb804c3
來源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第十七章 追求 嘉寧三年三月初一 我還是覺得不甘心,就只好沒話找話:“書店的生意近來怎么樣?”吳銘抬頭看了我一眼,...
    七彩霞衣閱讀 410評(píng)論 0 0
  • 見齊衰者,雖狎必變。見冕者與瞽者,雖褻必以貌。兇服者式之。式負(fù)版者。有盛饌,必變色而作。迅雷風(fēng)烈必變。 見齊衰者,...
    學(xué)會(huì)學(xué)夫子國學(xué)閱讀 590評(píng)論 0 3
  • 有的人喜歡漂泊,流浪,去吸收日月之精華,去看遍世界之風(fēng)景,去認(rèn)識(shí)不同的人與物,去經(jīng)歷不同的事與情,在筆尖游走,尋...
    長(zhǎng)安長(zhǎng)安_閱讀 576評(píng)論 1 6
  • 人與人交往中,什么最重要?認(rèn)同感。 就像初次見面,先看外觀,是否和自己屬于同一類人,然后深交,看他的思想是否和我的...
    愛讀書的benyouyou閱讀 1,325評(píng)論 0 2
  • 最開始會(huì)想買和看《花田半畝》這本書,更多的是因?yàn)椤盎ㄌ铩边@二字吧,因?yàn)槲蚁矚g花。但看了之后,我感受到了寧靜,感...
    風(fēng)信子ZMN閱讀 227評(píng)論 0 1

友情鏈接更多精彩內(nèi)容