vue項(xiàng)目開發(fā)流程

創(chuàng)建vue項(xiàng)目流程

1.使用構(gòu)建工具vue-cli創(chuàng)建項(xiàng)目腳手架

vue-cli是一個(gè)官方發(fā)布vue.js項(xiàng)目腳手架绽昏,使用vue-cli可以快速創(chuàng)建vue項(xiàng)目。
(1)安裝
確認(rèn)已安裝了node.js,可在cmd中輸入( node -v和npm -v),如顯示出版號(hào)误债,說明安裝成功蔬顾。

圖片.png

  • 通過vue ui安裝
    第一步:在cmd中輸入vue ui
    圖片.png

    第二步:之后會(huì)彈出一個(gè)頁面隅居,點(diǎn)擊創(chuàng)建
    圖片.png

    第三步:選擇你項(xiàng)目要放的文件峡碉,然后點(diǎn)擊在此創(chuàng)建新項(xiàng)目
    圖片.png

    第四步:輸入項(xiàng)目名稱须揣,點(diǎn)擊下一步
    圖片.png

    第五步:選擇手動(dòng)盐股,點(diǎn)擊下一步
    圖片.png

    第六步:根據(jù)項(xiàng)目需要勾選,本項(xiàng)目勾選了以下幾個(gè)耻卡,勾選完后點(diǎn)擊下一步
    圖片.png

    圖片.png

    第七步:勾選router疯汁,本項(xiàng)目css選擇stylus,然后點(diǎn)擊創(chuàng)建項(xiàng)目
    圖片.png

    第八步:點(diǎn)擊創(chuàng)建項(xiàng)目不保存預(yù)設(shè)
    圖片.png

    第九步:耐心等待一段時(shí)間
    圖片.png

    第十步:安裝好后卵酪,進(jìn)入到項(xiàng)目目錄下幌蚊,輸入npm run serve運(yùn)行,若出現(xiàn)最后一張圖的頁面溃卡,說明安裝成功
    圖片.png

    圖片.png

    圖片.png

    圖片.png

2.項(xiàng)目目錄詳解及各文件規(guī)范

圖片.png

(1)組件components
2.1.1 什么是組件
組件系統(tǒng)是vue的另一個(gè)重要概念溢豆,它是一種抽象,允許我們使用小型瘸羡、獨(dú)立和通充鱿桑可復(fù)用的組件構(gòu)建大型應(yīng)用。

2.1.2 編寫格式

1.png

(2)頁面views
2.2.1如何在頁面中引用組件
v-bond(:)用于設(shè)置HTML屬性
v-on(@)用于綁定HTML事件

  • 設(shè)置HTML屬性
    components中的文件(子組件)


    image.png

views中的文件(父組件)犹赖,對(duì)組件進(jìn)行掛載


image.png
  • @設(shè)置HTML事件
    components中的文件(子組件)


    image.png

views中的文件(父組件)队他,對(duì)組件進(jìn)行掛載


image.png

2.2.2編寫格式

2019-07-28_195422.png

(3)路由router

(4)配置文件package.json介紹

圖片.png


3.項(xiàng)目所需知識(shí)

3.1 ES6語法基礎(chǔ)

http://es6.ruanyifeng.com/

3.1.1 let和const、字符串峻村、解構(gòu)賦值麸折、數(shù)組、函數(shù)
3.1.2 export default和export的使用方式

  • 導(dǎo)入模塊:使用import模塊名稱from模塊標(biāo)識(shí)符(import表示路徑)
  • 暴露成員方式:使用export defaultexport向外暴露成員(exfault default只允許向外暴露一次)
    圖片.png

    如何使用
    import+(常量/函數(shù)/文件/模塊)的方式導(dǎo)入粘昨,以便能夠進(jìn)行使用垢啼。
    export和export default均可用于導(dǎo)出常量、函數(shù)雾棺、文件膊夹、模塊等。
    export和export default的區(qū)別
    圖片.png
3.2 vue基礎(chǔ)

https://cn.vuejs.org/

3.3 css基礎(chǔ)

3.3.1 flex布局

http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html

定義:用來為盒裝模型提供最大的靈活性捌浩。
彈性布局:.box{ display:flex;}
webkit內(nèi)核的瀏覽器:.box{ display: -webkit-flex; display:flex;}

  • 基本概念


    圖片.png
  • 容器的屬性
    flex-direction(決定主軸的方向)
    【1】 主軸為水平方向放刨,起點(diǎn)在左端
    圖片.png

    圖片.png

【2】主軸為水平方向,起點(diǎn)在右端


圖片.png

圖片.png

【3】主軸為垂直方向尸饺,起點(diǎn)在上沿


圖片.png

圖片.png

【4】主軸為垂直方向进统,起點(diǎn)在下沿


圖片.png

圖片.png

flex-wrap(一條軸線拍不下進(jìn)行換行)

圖片.png

【1】不換行
圖片.png

圖片.png

【2】第一行在上面
圖片.png

圖片.png

【3】第一行在下面
圖片.png

圖片.png

** flew-flow(flex-direction屬性和flex-wrap屬性的簡(jiǎn)寫形式)**
** justify-content(項(xiàng)目在主軸上的對(duì)齊方式)**
【1】 左對(duì)齊


圖片.png

圖片.png

【2】 右對(duì)齊


圖片.png

圖片.png

【3】 中間
圖片.png

圖片.png

【4】 兩端對(duì)齊
圖片.png

圖片.png

align-items(交叉軸上如何對(duì)齊)
align-content(多根軸線的對(duì)齊方式)

3.3.2常用的幾個(gè)樣式
字體樣式:font-family(字體的名稱) font-weight(字體的粗細(xì)) font-size(字體的大兄摇)
字體和框:text-align(文字相對(duì)于框的位置) line-height(設(shè)置行高)
margin和padding:margin: 25px(上邊距) 50px(右邊距) 75px(下邊距) 100px(左邊距) auto(依賴于瀏覽器); padding:25px(上邊距) 50px(右邊距) 75px(下邊距) 100px(左邊距)

圖片.png


4.項(xiàng)目開發(fā)

4.1 和UI打交道

前端自然少不了和UI打交道,UI常用的工具有PS和藍(lán)湖(https://lanhuapp.com/

4.2 代碼管理工具git

4.2.1 教程:https://www.liaoxuefeng.com/wiki/896043488029600
4.2.2 常用命令:
遠(yuǎn)程拉取項(xiàng)目:git clone 地址
狀態(tài):git status
添加:git add .
提交:git commit -m " "
推送:git push
查看遠(yuǎn)程倉庫:git remote -v
推到master上:git push origin master
創(chuàng)建新的分支(分支名:dev):git checkout -b dev
新建分支合并到master:git checkout master git marge dev git push origin master
刪除分支:git branch -D dev
遠(yuǎn)程刪除分支:git push origin :dev
退回到上一個(gè)版本:git reset --hard head^
查看日志:git log 或者 git reflog

4.3 編輯器vscode的使用

4.3.1封裝代碼塊
在vscode的文件>首選項(xiàng)>用戶代碼片段

  • 比如說要封裝vue代碼片段螟碎,輸入vue在vue.json進(jìn)行寫


    image.png
  • 當(dāng)你新建vue文件眉菱,輸入vuem


    image.png
  • 單擊回車


    image.png

4.3.2常用命令

4.4 狀態(tài)管理(vuex)的使用

官方文檔:https://vuex.vuejs.org/zh/
學(xué)習(xí)筆記:http://www.reibang.com/p/9c42da470943

4.4.1什么是vuex?

是vue配套的公共數(shù)據(jù)管理工具掉分,它可以把一些共享的數(shù)據(jù)俭缓,保存到vuex中,方便整個(gè)程序中的任何組件直接獲取或修改我們的公共數(shù)據(jù)酥郭。

圖片.png

4.4.2安裝vuex
npm install vuex --save
在一個(gè)模塊化的打包系統(tǒng)中华坦,必須顯式地通過Vue.use()來安裝Vuex:

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)

4.4.3.狀態(tài)管理核心
狀態(tài)管理有5個(gè)核心,分別是state不从、mutation惜姐、getter、action椿息、module
(1)state
簡(jiǎn)單的理解歹袁,可以把state想象成組件中的data,專門用來存儲(chǔ)數(shù)據(jù)的寝优。
如果在組件中条舔,想要訪問store中的數(shù)據(jù),只能通過```this.$store.state.xxx來訪問
(2)mutation
負(fù)責(zé)修改state中的數(shù)據(jù)
如果要操作store中的state值乏矾,不推薦直接操作state中的數(shù)據(jù)逞刷,推薦通過調(diào)用mutations提供的方法來操作對(duì)應(yīng)的數(shù)據(jù)。mutation的作用如下圖:

圖片.png

(3)getter
只負(fù)責(zé)對(duì)外提供數(shù)據(jù)妻熊,不負(fù)責(zé)修改數(shù)據(jù)

(4)action
action和mutation有些類似夸浅,不同在于

  • action提交是不能直接修改state中的狀態(tài),而mutation是可以直接修改state中的狀態(tài)扔役。
  • action是支持異步操作的帆喇,而mutation只能是同步操作。

(5)mudule
module解決了當(dāng)state復(fù)雜臃腫的時(shí)候亿胸,module可以將store分割成模塊坯钦,每個(gè)模塊擁有直接的state、mutation侈玄、action和getter婉刀。

4.4.4 在main.js文件中或者store.js配置如下:

圖片.png

圖片.png

注:

1.如果在組件中,想要訪問store中的數(shù)據(jù)序仙,只能通過this.$store.state.xxx來訪問突颊。
或者如果組件想要調(diào)用mutations中的方法,只能使用this.$store.commit('方法名')

圖片.png

在counter.vue文件中
圖片.png

2.getters包裝數(shù)據(jù)
圖片.png

4.5 axios向后臺(tái)發(fā)送請(qǐng)求(get、post)

官方文檔:https://www.kancloud.cn/yunye/axios/234845
4.5.1 安裝axios
npm install axios

4.5.2 api.js文件用于向后臺(tái)發(fā)送請(qǐng)求
例:

4.6 router(路由)頁面跳轉(zhuǎn)

官方文檔:https://router.vuejs.org/zh/
4.6.1

4.6.2 router.js文件
例:


2.png

5.打包上線部署

項(xiàng)目開發(fā)完成后律秃,可以輸入npm run build來進(jìn)行打包工作(打包目的為了壓縮文件大信老稹)
然后會(huì)生成一個(gè)dist的文件夾,項(xiàng)目上線時(shí)棒动,只需要將dist文件夾放到服務(wù)器就行了糙申。
詳細(xì)可參考舞侯大神寫的:

http://www.reibang.com/p/8792560f1a24

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市船惨,隨后出現(xiàn)的幾起案子柜裸,更是在濱河造成了極大的恐慌,老刑警劉巖粱锐,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粘室,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡卜范,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門鹿榜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來海雪,“玉大人,你說我怎么就攤上這事舱殿“侣悖” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵沪袭,是天一觀的道長(zhǎng)湾宙。 經(jīng)常有香客問我,道長(zhǎng)冈绊,這世上最難降的妖魔是什么侠鳄? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮死宣,結(jié)果婚禮上伟恶,老公的妹妹穿的比我還像新娘。我一直安慰自己毅该,他們只是感情好博秫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著眶掌,像睡著了一般挡育。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上朴爬,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天即寒,我揣著相機(jī)與錄音,去河邊找鬼。 笑死蒿叠,一個(gè)胖子當(dāng)著我的面吹牛明垢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播市咽,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼痊银,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了施绎?” 一聲冷哼從身側(cè)響起溯革,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎谷醉,沒想到半個(gè)月后致稀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡俱尼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年抖单,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遇八。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡矛绘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出刃永,到底是詐尸還是另有隱情货矮,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布斯够,位于F島的核電站囚玫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏读规。R本人自食惡果不足惜抓督,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望束亏。 院中可真熱鬧本昏,春花似錦、人聲如沸枪汪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雀久。三九已至宿稀,卻和暖如春帐我,著一層夾襖步出監(jiān)牢的瞬間忠烛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工麻养, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人罩锐。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓奉狈,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親涩惑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子仁期,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353