tzxblog博客系統(tǒng)-vue前端項(xiàng)目搭建和要點(diǎn)記錄

vue-cli2和vue-cli3(vue-cli4)的一些區(qū)別

據(jù)我目前的了解振定,創(chuàng)建vue項(xiàng)目必怜,vue-cli不是必須的,但是在實(shí)際開發(fā)時(shí)后频,幾乎就是必須的梳庆。vue-cli既可以看做是一種創(chuàng)建vue項(xiàng)目的快捷工具,也可能理解成是vue的一種規(guī)范卑惜。
由于本機(jī)的vue-cli安裝較早膏执,還是vue-cli2的版本,而如今早已經(jīng)是vue-cli4露久,所以也是時(shí)候進(jìn)行一定的升級(jí)了更米,升級(jí)過程以及升級(jí)之后的部分區(qū)別記錄如下:

vue-cli安裝

v2:npm i -g vue-cli
v3/v4:npm i -g @vue/cli

創(chuàng)建項(xiàng)目

v2:vue init projectName
v3/v4:vue create projectName

啟動(dòng)項(xiàng)目

v2:npm run dev
v3/v4:npm ren serve

端口修改

vue-cli創(chuàng)建的項(xiàng)目,默認(rèn)端口號(hào)是8080毫痕,一般正式開發(fā)都不會(huì)直接使用這個(gè)默認(rèn)端口號(hào)征峦,了解java后端開發(fā)的就會(huì)知道迟几,tomcat的默認(rèn)端口號(hào)也是8080,通常也一樣都需要修改一下栏笆。
在vue-cli2中类腮,端口號(hào)修改起來可能相對(duì)更簡(jiǎn)單,直接在項(xiàng)目的config目錄下能找到index.js文件竖伯,然后修改里邊的port屬性即可存哲。
但是vue-cli3創(chuàng)建的項(xiàng)目整體結(jié)構(gòu)不同,也沒有了config目錄七婴,他的端口號(hào)修改顯得比較隱蔽祟偷,需要一層層找到如下文件,然后修改里邊的端口號(hào):
node_modules@vue\cli-service\lib\commands\serve.js

const defaults = {
  host: '0.0.0.0',
  port: 8080,
  https: false
}

vue的一些基礎(chǔ)用法

組件安裝

在我目前的需求中打厘,除開創(chuàng)建項(xiàng)目時(shí)選擇的router之外修肠,已知需要的就還有axios和vant的組件依賴。對(duì)于技術(shù)選型户盯,axios用來在vue中進(jìn)行ajax請(qǐng)求嵌施,vant用作ui設(shè)計(jì)。
作為后端為主的前端菜鳥莽鸭,現(xiàn)在用過的ui技術(shù)只有element-ui吗伤、bootstrap、vant硫眨,有的還只是用了一兩下足淆,早就忘到了千里之外,所以這次也是希望可以選擇一個(gè)主修礁阁,最終就鎖定在了vant上巧号。
組件安裝命令如下:

cnpm i vant -S
cnpm i axios  -S
cnpm i babel-plugin-import -D

上邊最后一個(gè)的作用是為了vant的組件按需引入,查看vant官網(wǎng)會(huì)有說明姥闭。
額外提一點(diǎn)的就是丹鸿,安裝了cnpm之后,安裝起依賴確實(shí)比之前的npm快了非常非常多棚品,尤其是如今身在農(nóng)村之能手機(jī)熱點(diǎn)聯(lián)網(wǎng)的情況下靠欢。

組件使用

組件的安裝我理解為就是java里邊maven下載jar包,那么和java一樣铜跑,在使用的地方也需要引入门怪。
axiox的引入,是在main.js中:

import axios from 'axios'
Vue.prototype.$http=axios

就目前的理解疼进,上邊的代碼薪缆,第一行是必要的秧廉,第二行不是必須伞广,寫法也不一定非要這樣拣帽,應(yīng)該是一種習(xí)慣。我跟著教程學(xué)嚼锄,也就按照這樣寫了减拭。

vant的引入,和axios不太一樣区丑,不是main.js拧粪,而是router目錄中index.js下:

import { Tab, Tabs } from 'vant';
import { Sidebar, SidebarItem } from 'vant';
Vue.use(Sidebar);
Vue.use(SidebarItem);
Vue.use(Tab);
Vue.use(Tabs);

這個(gè)地方我其實(shí)還不是太明白,因?yàn)橐婚_始ui組件的引用也放在了main.js中沧侥,但是頁面卻不顯示可霎,挪到了index.js中之后就可以正常使用,希望在后續(xù)學(xué)習(xí)和敲代碼應(yīng)用的過程中能進(jìn)一步弄清楚宴杀。

組件(component)和視圖(view)的區(qū)別

在vue-cli3或者vue-cli4中癣朗,項(xiàng)目目錄有components和views這兩個(gè)目錄,就目前的理解來說旺罢,里邊的代碼用法基本一樣旷余。
view可能更側(cè)重于整體的頁面,而compenent則是零散的局部的一些扁达,從一開始的學(xué)習(xí)中來說正卧,可以盡量規(guī)范的劃分,但是也可以都放在一個(gè)目錄下跪解,并不影響實(shí)際的功能炉旷。

關(guān)于this和_this

this是一個(gè)關(guān)鍵字,代表的是當(dāng)前對(duì)象惠遏,在java中也是有的砾跃。
而vue中的this,有一個(gè)用法可能需要記錄节吮,那就是在某些地方使用之前可能需要把this先賦值給另一個(gè)變量抽高,比如_this。
_this應(yīng)該是一個(gè)普遍的寫法透绩,卻不是硬性的規(guī)定翘骂,也可以叫其他的名字。
它的出現(xiàn)帚豪,是因?yàn)樵谝粋€(gè)視圖或者組件中碳竟,可能會(huì)有非常多的對(duì)象,比如點(diǎn)擊事件等狸臣,這時(shí)候很容易分不清當(dāng)前的this代表的是哪個(gè)莹桅,從而加大錯(cuò)誤率和調(diào)試難度。

靜態(tài)資源

不論是真是項(xiàng)目烛亦,還是學(xué)習(xí)時(shí)的demo诈泼,總是少不了一些靜態(tài)資源懂拾,在vue-cli4中,靜態(tài)資源需要一般放在public目錄下铐达,例如可以在public下創(chuàng)建一個(gè)css文件夾存在css樣式文件岖赋,可以在public下創(chuàng)建一個(gè)img文件夾存在圖片等資源,也可以創(chuàng)建一個(gè)json目錄存放模擬數(shù)據(jù)的json文件瓮孙。
當(dāng)然了唐断,這些命名都不是必須的,也都可以自定義杭抠,只要使用的時(shí)候保持一致即可脸甘。

使用axios進(jìn)行http請(qǐng)求

http請(qǐng)求有g(shù)et、post偏灿、put等斤程,最長(zhǎng)用的是get和post,這里就先以此記錄axios的語法:

this.$http.get(url,{params:{paramName:paramValue}}).then(function(res){
    console.log(res);
})
this.$http.post(url,{data:{paramName:paramValue}}).then(function(res){
    console.log(res);
})

以上是基礎(chǔ)用法菩混,也是單請(qǐng)求的簡(jiǎn)單示例忿墅,但實(shí)際上很多時(shí)候一個(gè)功能的最終結(jié)果是需要多個(gè)請(qǐng)求處理后才能實(shí)現(xiàn),這就還需要借助spread:

this.$http.all([this.$http.post(url1),this.$http.get(url2)]).then(
    this.$http.spread((res1,res2)=>{
            console.log(res1);
            console.log(res2);
        }
    )
);

以上不論是get沮峡、post單請(qǐng)求疚脐,還是合在一起的復(fù)合請(qǐng)求,都用到了$http邢疙,可能會(huì)有人有疑問棍弄。這里實(shí)際上是因?yàn)樯线吽f的引入了axios后,加了Vue.prototype.$http=axios這一行疟游,所以這里$http代表的就是axios呼畸,也算是一種習(xí)慣性寫法。

項(xiàng)目地址

項(xiàng)目代碼和文檔均以github托管颁虐,地址如下:
https://github.com/tuzongxun/tzxblog

本文由博客群發(fā)一文多發(fā)等運(yùn)營工具平臺(tái) OpenWrite 發(fā)布

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蛮原,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子另绩,更是在濱河造成了極大的恐慌儒陨,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件笋籽,死亡現(xiàn)場(chǎng)離奇詭異蹦漠,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)车海,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門笛园,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事研铆≌⒍龋” “怎么了?”我有些...
    開封第一講書人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵蚜印,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我留量,道長(zhǎng)窄赋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任楼熄,我火速辦了婚禮忆绰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘可岂。我一直安慰自己错敢,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開白布缕粹。 她就那樣靜靜地躺著稚茅,像睡著了一般。 火紅的嫁衣襯著肌膚如雪平斩。 梳的紋絲不亂的頭發(fā)上亚享,一...
    開封第一講書人閱讀 51,598評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音绘面,去河邊找鬼欺税。 笑死,一個(gè)胖子當(dāng)著我的面吹牛揭璃,可吹牛的內(nèi)容都是我干的晚凿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼瘦馍,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼歼秽!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起情组,我...
    開封第一講書人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤哲银,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后呻惕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荆责,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年亚脆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了做院。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖键耕,靈堂內(nèi)的尸體忽然破棺而出寺滚,到底是詐尸還是另有隱情,我是刑警寧澤屈雄,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布村视,位于F島的核電站,受9級(jí)特大地震影響酒奶,放射性物質(zhì)發(fā)生泄漏蚁孔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一惋嚎、第九天 我趴在偏房一處隱蔽的房頂上張望杠氢。 院中可真熱鬧,春花似錦另伍、人聲如沸鼻百。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽温艇。三九已至,卻和暖如春堕汞,著一層夾襖步出監(jiān)牢的瞬間中贝,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來泰國打工臼朗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留邻寿,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓视哑,卻偏偏與公主長(zhǎng)得像绣否,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子挡毅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355