一、NodeJS環境
- 什么是nodejs
- 不是JS文件,也不是一個JS框架()
- 而是Server side Javascript runtime, 服務端的一個JS運行時
- 可以在node運行JS代碼
- node中只能運行ECMAScript,無法使用 BOM 和 DOM
- 目前我們的JS是運行在瀏覽器內核中
- PHP是什么?是一門腳本語言也是一個運行環境
node是一個基于chrome v8引擎的javascript的運行環境。node使用事件驅動、非阻塞式I/O的模型,使其輕量又高效。node的包管理器npm,是全球最大的開源庫生態系統。
二、Node環境搭建
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包,選擇第一個: nvm-noinstall.zip
- 將文件內容解壓到例如 c:\dev\nvm (將文件拷貝到c:\dev\nvm,解壓到當前文件夾)
- 雙擊install.cmd不用輸入,直接回車,之后再c盤中會生成一個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/
- 配置環境變量。剛才點擊install.cmd文件,會在環境變量的系統變量中生成兩個環境變量:
NVM_HOME
和NVM_SYMLINK
;修改這兩個變量值,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后,久會在`C:\dev`目錄中看到nodejs文件夾;
nodejs不是單純的文件夾,它是一個快捷方式,指向`C:\dev\nvm`中v6.3.0文件夾;
`C:\dev\nvm`文件夾下的vx.x.x即nodejs對應版本;
nvm list 查看已經安裝的版本(版本號前面有帶*,表示當前使用版本)
nvm install 6.3.0 安裝對應node對應版本
nvm use 6.3.0 使用對應node版本
nvm --- node version manager(node版本管理器),因為NODE版本比較多,開發人員可能依賴很多版本;通過NVM,可以輕松切換于不同的版本之間;
三、NPM
NPM是什么
Node Package Manager即是Node應用程序依賴包的管理工具,方便于安裝卸載更新等操作;
NPM是 Node 的開放式模塊登記和管理系統,亦可以說是一個生態圈,一個社區;為什么使用NPM
- 包很多
- 場景:我需要用一個A,A依賴B,B依賴C
- 常見的包管理工具都有循環依賴的功能
- 你只需記住你要什么東西
- 常見的NPM操作
// 引導創建一個package.json文件(安裝包的信息可保持到項目的package.json文件中,以便后續的其它的項目開發或者他人合作使用,也說package.json在項目中是必不可少的)
$ npm init
// 安裝一個包,默認安裝最新穩定版本
$ npm install package_name // 本地安裝
$ npm install package_name -g // 全局安裝
// 安裝特定版本的包
$ npm install package_name@版本號
// 卸載
$ npm uninstall package_name // 卸載本地
$ npm uninstall package_name -g // 卸載全局
// 更新
$ npm update -g
// 查看依賴和它們之間的關系
$ npm ls
// 查看主要的依賴
$ npm ls --depth=0
// 查看全局的所有包()
$ npm ls --depth=0 -g
> 每個版本的nodejs中,都會自帶npm,為了統一起見,需要安裝一個全局的npm工具是有必要的,因為我們需要安裝一些全局的其他包,不會因為切換node版本造成原來下載過的包不可用。
`$ npm config set prefix 'C:\dev\nvm\npm'`
// 上述是配置npm的全局安裝路徑,然后用戶文件夾下會生成一個.npmrc的文件,文件內容為: `prefix=C:\dev\nvm\npm`
// 如果不使用上面方法,可以手動在用戶文件夾下(C:\User\liming)創建.npmrc文件,文件內容為: `prefix=C:\dev\nvm\npm`
> `$ npm install npm -g `
// 下載npm包,在`C:\dev\nvm\npm`目錄中可以看到下載中的文件,以后用nmp安裝包時加上`-g`就可以把包安裝在`C:\dev\nvm\npm`的全局路徑下
// 再為這個npm配置環境變量,變量名`NPM_HOME`,變量值`C:\dev\nvm\npm`;然后再path最前面添加`;%NPM_HOME%`,注意該變量一定是加載`%NVM_SYMLINK%`之前;
// 如果安裝不了(npm鏡像源默認是在國外),可以先執行安裝cnpm工具,之后通過cnpm安裝: `cnpm install npm -g`
> `$ npm -v`
// 查看npm的版本,此時使用的都是統一的nmp包了
> `$ npm install -g cnpm --registry=https://registry.npm.taobao.org`
安裝cnpm工具,并設置淘寶的鏡像庫,中國版的npm鏡像庫,`https://registry.npm.taobao.org/`淘寶的,`https://cnpmjs.org/`cnpm工具的, 他們都是npm官方的一個拷貝,他們會每隔10分鐘同步一次 【非必要操作,如果下載比較慢可以切換到國內鏡像】
> 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的這個鏡像源
$ nrm test // 測試鏡像源的速度
# 五、Bower
[Bower官網](http://bower.io/)
- 什么是Bower
web應用程序依賴項管理工具【包的管理工具,還是重復的輪子】
- 為什么使用Bower
方便便捷的方式管理包
- Bower安裝
$ npm install bower -g
- Bower使用
$ bower install page_name