前言
很久之前就想做自己的博客,一直有各種事情和理由沒有完成這個(gè)小計(jì)劃。最近突然想完成這個(gè)計(jì)劃了,每天抽點(diǎn)時(shí)間學(xué)點(diǎn)新東西,今天查了好多資料,想搭建一個(gè)laravel?vue的博客,之后還想擴(kuò)展一些其他功能,這個(gè)是個(gè)大方向吧,只是想記錄一下,以后不至于忘記(寫給自己的文章)
今天從搭建Vue-Cli開始說起,首先要安裝node.js環(huán)境
什么是Node.js (來自官網(wǎng))
1.它是一個(gè)Javascript運(yùn)行環(huán)境
2.依賴于Chrome V8引擎進(jìn)行代碼解釋
3.事件驅(qū)動(dòng)
4.非阻塞I/O(NodeJS遇到I/O事件會(huì)創(chuàng)建一個(gè)線程去執(zhí)行,然后主線程會(huì)繼續(xù)往下執(zhí)行的)
5.輕量、可伸縮,適于實(shí)時(shí)數(shù)據(jù)交互應(yīng)用
6.單進(jìn)程,單線程
Node.js的優(yōu)缺點(diǎn)
NodeJS適合運(yùn)用在高并發(fā)、I/O密集、少量業(yè)務(wù)邏輯的場(chǎng)景(高并發(fā)、聊天、實(shí)時(shí)消息推送)
優(yōu)點(diǎn):
高并發(fā)(最重要的優(yōu)點(diǎn))
NodeJs更改連接到服務(wù)器的方式,每個(gè)連接發(fā)射(emit)一個(gè)在NodeJS引擎進(jìn)程中運(yùn)行的事件(Event),放進(jìn)事件隊(duì)列當(dāng)中,而不是為每個(gè)連接生成一個(gè)新的OS線程(并為其分配一些配套內(nèi)存)
適合I/O密集型應(yīng)用
缺點(diǎn):
不適合CPU密集型應(yīng)用;CPU密集型應(yīng)用給Node帶來的挑戰(zhàn)主要是:由于JavaScript單線程的原因,如果有長(zhǎng)時(shí)間運(yùn)行的計(jì)算(比如大循 環(huán)),將會(huì)導(dǎo)致CPU時(shí)間片不能釋放,使得后續(xù)I/O無法發(fā)起;
解決方案:分解大型運(yùn)算任務(wù)為多個(gè)小任務(wù),使得運(yùn)算能夠適時(shí)釋放,不阻塞I/O調(diào)用的發(fā)起。
只支持單核CPU,不能充分利用CPU;
可靠性低,一旦代碼某個(gè)環(huán)節(jié)崩潰,整個(gè)系統(tǒng)都崩潰(原因:?jiǎn)芜M(jìn)程,單線程);
解決方案:
Nnigx反向代理,負(fù)載均衡,開多個(gè)進(jìn)程,綁定多個(gè)端口;
開多個(gè)進(jìn)程監(jiān)聽同一個(gè)端口,使用cluster模塊。
Debug不方便,錯(cuò)誤沒有stack trace。
Node.js的安裝
1.訪問?Node.js官網(wǎng)?,下載最新版本。
2.雙擊下載文件,按照步驟默認(rèn)安裝

Node.js和npm安裝完成
3.安裝完成后打開終端,輸入

這兩個(gè)命令,如圖出現(xiàn)版本信息,說明安裝成功。
如果是Windows電腦,需要添加環(huán)境變量,否則cmd控制臺(tái)輸入上面兩個(gè)命令可能會(huì)提示非內(nèi)部指令;添加完環(huán)境變量之后,如果依然提示非內(nèi)部指令,請(qǐng)關(guān)閉并重新打開一次cmd
為了學(xué)習(xí)cli,必須了解一下幾個(gè)npm命令
npm(node package manager)是nodejs的包管理器,用于node插件管理(包括安裝、卸載、管理依賴等)
cnpm:因?yàn)閚pm安裝插件是從國外服務(wù)器下載,受網(wǎng)絡(luò)影響大,可能出現(xiàn)異常,所以淘寶團(tuán)隊(duì)分享了使用國內(nèi)鏡像來代替國外服務(wù)器
-g(global)參數(shù) 全局安裝
npm root -g 查看全局安裝的文件夾位置
vue-cli2的安裝
npm install -g vue-cli
cnpm install -g vue-cli
npm和cnpm用法都是一樣的,只是下載的來源不同
手動(dòng)指定從哪個(gè)鏡像服務(wù)器獲取資源
npm install -gd express --registry=http://registry.npm.taobao.org
為了避免每次安裝都需要registry參數(shù),可以永久設(shè)置
npm config set registry?http://registry.npm.taobao.org
-S 和 -D參數(shù)
-S (--save) 安裝包信息將加入到dependencies(生產(chǎn)階段的依賴)
-D (--save--dev) 安裝包信息將加入到devDependencies(開發(fā)階段的依賴),所以開發(fā)階段一般使用它
i是install的縮寫(注意前面沒有"-")
所以命令也可以用i來代替install
npm i -g --save --dev vue-cli
npm i -gd vue-cli (這行是上一行命令的縮寫形式)
帶-g是以全局的方式安裝,如果沒有g(shù),只是本地環(huán)境的安裝,如果安裝失敗,可能是缺少初始化的配置文件package.json,可以使用npm init -f來初始化,-f參數(shù)是用來跳過回答一些參數(shù)的配置,全部用默認(rèn)值來配置,如工程名、項(xiàng)目名稱等。
npm install -g cnpm --registry=http://registry.npm.taobao.org
這行命令用來安裝cnpm指令,以后可以用cnpm來操作
Mac安裝命令,如果遇到權(quán)限錯(cuò)誤,記得前面加sudo
vue-cli安裝完成之后,可以用vue -V來查看版本號(hào)

安裝到此結(jié)束了,下一篇將是創(chuàng)建一個(gè)vue-cli2項(xiàng)目