搭建項目架構(gòu)

項目準備

  • 使用Vue CLI創(chuàng)建項目
  • 加入Git管理
  • 進行初始化文件處理
    • 刪除src/assets/logo.png
    • 刪除src/components/HelloWorld.vue
    • 刪除src/views/About.vue
    • 刪除src/views/Home.vue
    • 修改src/router/index.js,去除掉route內(nèi)容,方便我們自己設(shè)置
    • 修改src/App.vue越平,只保留根路由出口
    • 添加src/services目錄集乔,存放API請求模塊
    • 添加src/utils目錄退唠,存放工具模塊

Vant組件庫

Vant是有贊團隊開源的移動端組件箱锐,業(yè)界主流的移動端組件之一
目前Vant官方提供了Vue2版本辫呻,Vue3版本躏尉,和微信小程序版本蚯根,并由社區(qū)團隊維護React版本
官網(wǎng):

https://vant-contrib.gitee.io/vant/#/zh-CN/

Github倉庫:

https://github.com/youzan/vant

安裝:

# Vue 2 項目,安裝 Vant 2:
npm i vant -S

# Vue 3 項目胀糜,安裝 Vant 3:
npm i vant@next -S

通過CDN安裝

<!-- 引入樣式文件 -->
<link
  rel="stylesheet"
  
/>

<!-- 引入 Vue 和 Vant 的 JS 文件 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2.6/dist/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vant@2.12/lib/vant.min.js"></script>
...

通過腳手架安裝
利用圖形化界面進行安裝颅拦,本質(zhì)上還是命令行
注意:要是執(zhí)行vue ui命令出現(xiàn)了spawn cmd ENOENT錯誤提示,那么解決辦法是:
在用戶變量的PATH中添加 “%SystemRoot%\system32”

# 安裝 Vue Cli
npm install -g @vue/cli

# 創(chuàng)建一個項目
vue create hello-world

# 創(chuàng)建完成后教藻,可以通過命令打開圖形化界面距帅,如下圖所示
vue ui

添加完項目之后,選擇依賴-安裝依賴


搜索到vant括堤,選擇并安裝锥债,等待完成

引入:
main.js中引入vant,就可以在所有組件中使用他任意的組件了,十分的方便哮肚,跟上一次做管理項目時登夫,我們引入ElementUI是一樣的道理(這個引入方法如果項目需要大量使用到Vant的話是可以推薦使用的,不然一般的話我們建議按需引入)

import Vue from 'vue'
import Vant from 'vant'
import 'vant/lib/index.css'

Vue.use(Vant)

瀏覽器適配

Vant中的樣式默認使用px為單位允趟,如果需要使用rem單位恼策,推薦使用以下兩個工具

lib-flexible

lib-flexible 用于動態(tài)設(shè)置rem基準值
1.安裝

npm i -S amfe-flexible

2.在main.js中加載執(zhí)行該模塊

import 'amfe-flexible'

通過瀏覽器開發(fā)者工具切換移動設(shè)備潮剪,觀察html元素的font-size是否自動發(fā)生了變化

postcss-pxtorem

用于將px設(shè)置為rem
1.安裝

npm i postcss-pxtorem -D

2.在項目根目錄創(chuàng)建.postcssrc.js文件涣楷,設(shè)置配置

module.exports = {
  plugins: {
    'autoprefixer': {
      // browsers: ['Android >= 4.0', 'iOS >= 8']
    },
    'postcss-pxtorem': {
      rootValue: 37.5,
      propList: ['*']
    }
  }
}

設(shè)置測試代碼,在瀏覽器中查看是否能夠?qū)?code>px轉(zhuǎn)為rem
這里測試要注意三點

  • 一是修改了配置文件之后要重啟serve才能達到預(yù)期的效果
  • 二是如果使用的是vue2.x的項目腳手架工具構(gòu)建的項目抗碰,postcss的版本號不能在6以上狮斗,建議手動在package.json內(nèi)部修改為5.1.1的版本


    測試之后已經(jīng)可以自動更新為rem了
  • 三是,不能轉(zhuǎn)換行內(nèi)樣式弧蝇,要謹記

路由規(guī)則配置

初始化一下路由組件碳褒,在項目下創(chuàng)建這么幾個目錄

views
├── course 選課頁面
│ └── index.vue
├── error-page 錯誤頁面
│ └── index.vue
├── learn 學(xué)習(xí)頁面
│ └── index.vue
├── login 登錄頁面
│ └── index.vue
└── user 用戶頁面
└── index.vue

然后在router/index.js中配置路由規(guī)則
首頁默認為course頁面,也可以用組件導(dǎo)出的方式來使用

import Vue from 'vue'
import VueRouter from 'vue-router'

import Course from '@/views/course'

Vue.use(VueRouter)

const routes = [
  {
    path: '/login',
    name: '',
    component: () => import(/* webpackChunkName: 'login' */'@/views/login')
  },
  {
    path: '/',
    name: 'course',
    component: Course
  },
  {
    path: '/learn',
    name: 'learn',
    component: () => import(/* webpackChunkName: 'learn' */'@/views/learn')
  },
  {
    path: '/user',
    name: 'user',
    component: () => import(/* webpackChunkName: 'user' */'@/views/user')
  },
  {
    path: '/*',
    name: 'error-page',
    component: () => import(/* webpackChunkName: 'error-page' */'@/views/error-page')
  }
]

const router = new VueRouter({
  routes
})

export default router

封裝請求模塊

封裝請求模塊看疗,便于統(tǒng)一處理請求功能沙峻,安裝Axios

npm i axios

初始化axios,觀察接口文檔两芳,將基地址:
http://edufront.lagou.com 設(shè)置給baseURL就可以了

import axios from 'axios'

const request = axios.create({
  baseURL: 'http://edufront.lagou.com'
})

export default request

隨便在App.vue測試一下功能摔寨,發(fā)送請求成功就算勝利

公共組件LayoutFooter

學(xué)習(xí),選課怖辆,用戶都是有公共的底部導(dǎo)航是复,將導(dǎo)航封裝到公共組件,并且保存在src/components中
導(dǎo)航使用的是Vant的Tabbar組件竖螃,圖標可以通過Icon組件來進行設(shè)置
將這組件設(shè)置給src/components/LayoutFooter.vue佑笋,再設(shè)置路由跳轉(zhuǎn)

  • to 屬性用于設(shè)置跳轉(zhuǎn)你的目標路由對象,跟vue-router的to屬性是一樣的
    之后將這個組件作為公共組件添加到每一個views下的特定index.vue中斑鼻,導(dǎo)入使用過即可
<template>
  <div class="layout-footer">
    <van-tabbar route>
        <van-tabbar-item replace to="/" icon="orders-o">選課</van-tabbar-item>
        <van-tabbar-item replace to="/learn" icon="desktop-o">學(xué)習(xí)</van-tabbar-item>
        <van-tabbar-item replace to="/user" icon="user-o">我</van-tabbar-item>
    </van-tabbar>
  </div>
</template>

<script>
export default {
  name: 'LayoutFooter'
}
</script>

<style lang="scss" scoped>
</style>

<template>
  <div class="course">
      <layout-footer></layout-footer>
  </div>
</template>

<script>
import LayoutFooter from '@/components/LayoutFooter'
export default {
  name: 'Course',
  components: {
    LayoutFooter
  }
}
</script>

<style lang="scss" scoped>

</style>

至此蒋纬,搭建項目結(jié)構(gòu)到此結(jié)束

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市坚弱,隨后出現(xiàn)的幾起案子蜀备,更是在濱河造成了極大的恐慌,老刑警劉巖荒叶,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碾阁,死亡現(xiàn)場離奇詭異,居然都是意外死亡些楣,警方通過查閱死者的電腦和手機脂凶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門宪睹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蚕钦,你說我怎么就攤上這事亭病。” “怎么了嘶居?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵罪帖,是天一觀的道長。 經(jīng)常有香客問我邮屁,道長整袁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任佑吝,我火速辦了婚禮坐昙,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芋忿。我一直安慰自己炸客,他們只是感情好,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布盗飒。 她就那樣靜靜地躺著,像睡著了一般陋桂。 火紅的嫁衣襯著肌膚如雪逆趣。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天嗜历,我揣著相機與錄音宣渗,去河邊找鬼。 笑死梨州,一個胖子當著我的面吹牛痕囱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播暴匠,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼鞍恢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了每窖?” 一聲冷哼從身側(cè)響起帮掉,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎窒典,沒想到半個月后蟆炊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡瀑志,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年涩搓,在試婚紗的時候發(fā)現(xiàn)自己被綠了污秆。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡昧甘,死狀恐怖良拼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情疾层,我是刑警寧澤将饺,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站痛黎,受9級特大地震影響予弧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜湖饱,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一掖蛤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧井厌,春花似錦蚓庭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至墓拜,卻和暖如春港柜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咳榜。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工夏醉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人涌韩。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓畔柔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親臣樱。 傳聞我的和親對象是個殘疾皇子靶擦,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內(nèi)容