移動(dòng)端vue項(xiàng)目模板

模板項(xiàng)目技術(shù)棧

  • vue-cli3腳手架
  • vue-router
  • vuex跨組件通信
  • rem適配
  • axios攔截器
  • token
  • Promise
  • vant-ui

核心知識(shí)體系簡(jiǎn)介

  1. vue-cli3腳手架
    • 創(chuàng)建項(xiàng)目
    • 開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境配置
  2. vue-router路由
    • 路由配置
    • 子路由配置
    • 路由守衛(wèi),設(shè)置頁(yè)面標(biāo)題和根據(jù)登錄狀態(tài)判斷是否允許進(jìn)入特定頁(yè)面
  3. vuex跨組件通信
    • vuex配置
    • vuex持久化
    • vuex使用
  4. rem移動(dòng)端適配
    • 通過(guò)amfe-flexibe設(shè)置root元素的字體大小
    • 通過(guò)pxtorem把px轉(zhuǎn)成rem,無(wú)需手動(dòng)書寫rem
  5. axios配置
    • 使用攔截器配置baseURL和給請(qǐng)求頭加上token
    • 使用攔截器對(duì)返回的數(shù)據(jù)進(jìn)行處理
    • 掛載到vue原型上,方便使用
  6. promise使用
    • 在項(xiàng)目中使用async await把異步變成同步,編寫和閱讀更舒服
  7. 有贊vant-ui庫(kù)
    • 導(dǎo)航欄
    • 單元格
    • loading
    • ......

vue-cli3腳手架

  1. 具體操作,請(qǐng)移步vue-cli3文檔官網(wǎng)
  2. 開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境配置
  • 根目錄新建兩文件 .env.development => 開(kāi)發(fā)環(huán)境配置 .env.production => 生產(chǎn)環(huán)境配置


    image.png

    文件內(nèi)容

// .env.development
VUE_APP_URL="https://www.easy-mock.com/mock/5cd62747d3a84206275d58d1/huruqing/api"
// .env.production
VUE_APP_URL="https://www.easy-mock.com/mock/5cd62747d3a84206275d58d1/huruqing/api"
  1. package.json配置
    vue-cli3默認(rèn)已經(jīng)給你配置好了model, 開(kāi)發(fā)環(huán)境對(duì)應(yīng)development, 生產(chǎn)環(huán)境對(duì)應(yīng)production,如果你不知道m(xù)odel,請(qǐng)移步webpack文檔官網(wǎng)
    image.png
  2. 在你的項(xiàng)目中,通過(guò) process.env.VUE_APP_URL 可以訪問(wèn)到你在環(huán)境配置文件中設(shè)置的變量



    開(kāi)發(fā)環(huán)境中的變量

vue-router路由

這里主要講一下路由守衛(wèi)的配置,先上圖


路由配置

下面是路由守衛(wèi)配置


路由守衛(wèi)

vuex跨組件通信

  1. 項(xiàng)目中有以下幾個(gè)地方用到了vuex

    • 設(shè)置登錄狀態(tài)
    • 設(shè)置用戶名
    • 保存token
  2. 以登錄為里,做個(gè)簡(jiǎn)單說(shuō)明



    登錄成功時(shí),修改登陸狀態(tài)為true


    image.png

    退出登錄時(shí),修改登錄狀態(tài)為false
  3. 獲取store中state設(shè)置的變量通過(guò)mapGetters,看圖



    在模板中使用
  4. vuex持久化

    • 使用vuex-persistedstate插件對(duì)vuex的狀態(tài)持久化
    • 等你的頁(yè)面刷新時(shí),狀態(tài)依然存在
    • 本質(zhì)上是這個(gè)插件幫你把狀態(tài)都存到了localStorage
      配置方法,以下是最簡(jiǎn)單的配置



      使用了vuex-persistedstate插件后,store里的狀態(tài)都存到了localStorage


      image.png

rem移動(dòng)端適配

適配原理我就不多說(shuō)了,不清楚請(qǐng)看我的另外一篇文章[用rem編寫移動(dòng)端自適應(yīng)網(wǎng)頁(yè)]http://www.reibang.com/p/91ac1690be89,這里說(shuō)一下在vue-cli3中是如何配置的

  1. 安裝 amfe-flexible插件 npm i amfe-flexible --save-dev
  2. 在main.js中導(dǎo)入


    ipone6
  3. 此時(shí)你的應(yīng)用的html會(huì)自動(dòng)根據(jù)手機(jī)的尺寸設(shè)置了font-size,如圖



  4. 配置pxtorem插件,能幫你自動(dòng)把rem轉(zhuǎn)成px,具體配置如下,在項(xiàng)目根目錄下的vue.config.js(沒(méi)有則新建)
    里進(jìn)行配置,如圖


axios配置

  1. axios攔截器
    能幫我們對(duì)數(shù)據(jù)進(jìn)行一些統(tǒng)一的處理,比如后臺(tái)給我們的數(shù)據(jù)里都是把數(shù)據(jù)包在data對(duì)象里面,而使用axios,則又會(huì)再用data把返回的數(shù)據(jù)再包一層,如果不統(tǒng)一處理以下,用起來(lái)很不爽.
  2. 設(shè)置請(qǐng)求頭,后臺(tái)識(shí)別用戶經(jīng)常使用token,我們登陸的時(shí)候能拿到后臺(tái)返回的token,然后存入store里,當(dāng)我們發(fā)送請(qǐng)求時(shí),我們可以給請(qǐng)求頭統(tǒng)一加上token,如圖


  3. 把a(bǔ)xios的實(shí)例掛載到vue的實(shí)例上

    發(fā)請(qǐng)求的時(shí)候,只需要使用this.axios.get或者this.axios.post就行了,是不是很方便

Promise的使用

promise是個(gè)好東西,可以把異步變同步,在項(xiàng)目中使用async await編寫代碼,那叫一個(gè)爽,具體用法如下:


有贊vant-ui庫(kù)

有贊是搞電商開(kāi)發(fā)的,在公眾號(hào)和小程序模板界算是做得比較不錯(cuò)的,vant-ui是他們開(kāi)源出來(lái)的一個(gè)ui庫(kù),同時(shí)他們還有小程序的ui庫(kù),感興趣的小伙伴可以去[看看]https://youzan.github.io/vant/

模板項(xiàng)目源碼地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末寂殉,一起剝皮案震驚了整個(gè)濱河市呜笑,隨后出現(xiàn)的幾起案子谁不,更是在濱河造成了極大的恐慌贼涩,老刑警劉巖亡驰,帶你破解...
    沈念sama閱讀 218,682評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件毒返,死亡現(xiàn)場(chǎng)離奇詭異访敌,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)轰枝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門捅彻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人狸膏,你說(shuō)我怎么就攤上這事沟饥。” “怎么了湾戳?”我有些...
    開(kāi)封第一講書人閱讀 165,083評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)广料。 經(jīng)常有香客問(wèn)我砾脑,道長(zhǎng),這世上最難降的妖魔是什么艾杏? 我笑而不...
    開(kāi)封第一講書人閱讀 58,763評(píng)論 1 295
  • 正文 為了忘掉前任韧衣,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘畅铭。我一直安慰自己氏淑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布硕噩。 她就那樣靜靜地躺著假残,像睡著了一般。 火紅的嫁衣襯著肌膚如雪炉擅。 梳的紋絲不亂的頭發(fā)上辉懒,一...
    開(kāi)封第一講書人閱讀 51,624評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音谍失,去河邊找鬼眶俩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛快鱼,可吹牛的內(nèi)容都是我干的颠印。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼抹竹,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼线罕!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起柒莉,我...
    開(kāi)封第一講書人閱讀 39,261評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤闻坚,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后兢孝,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體窿凤,經(jīng)...
    沈念sama閱讀 45,722評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年跨蟹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了雳殊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,030評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡窗轩,死狀恐怖夯秃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情痢艺,我是刑警寧澤仓洼,帶...
    沈念sama閱讀 35,737評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站堤舒,受9級(jí)特大地震影響色建,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜舌缤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評(píng)論 3 330
  • 文/蒙蒙 一箕戳、第九天 我趴在偏房一處隱蔽的房頂上張望某残。 院中可真熱鬧,春花似錦陵吸、人聲如沸玻墅。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,941評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)澳厢。三九已至,卻和暖如春旨指,著一層夾襖步出監(jiān)牢的瞬間赏酥,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,057評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工谆构, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留裸扶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,237評(píng)論 3 371
  • 正文 我出身青樓搬素,卻偏偏與公主長(zhǎng)得像呵晨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子熬尺,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評(píng)論 2 355