前言: 學習慕課網Vue高級實戰課程後,在實踐中總結一些這個項目帶給本身的收穫,但願能夠再次鞏固關於Vue開發的知識。這一篇主要梳理:項目概況、項目準備、頁面骨架搭建。項目github地址:https://github.com/66Web/ljq_vue_music,歡迎Star。css
1、項目概況 |
項目目標: 開發一個媲美原生的移動端音樂Apphtml
主頁面 | 用戶我的中心 |
播放器 | 播放列表 |
前端技術棧: 前端
後端技術棧:vue
自動化構建及其餘工具:webpack
業務層與支撐層:ios
2、項目準備 |
vue-cli安裝git
(sudo) npm install -g vue-cli // sudo:mac環境下有關管理權限的命令 vue init webpack vue-music
項目目錄介紹及圖標字體、公共樣式等資源準備es6
樣式文件github
安裝stylus stylus-loaderweb
npm install stylus stylus-loader --save
main.js入口文件中引入
import './common/stylus/index.styl'
3、頁面骨架開發 |
頁面入口+header組件編寫
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
安裝依賴:
//babel-runtime —— 對es6語法作一些轉義 //fastclick —— 解決移動端點擊延遲300ms的問題 //babel-polyfill —— 【補丁】 對es6中promise等API的轉義 npm install babel-runtime fastclick babel-polyfill --save
//babel-polyfill 必定要寫在最前面 import ‘babel-polyfill’ import fastclick from 'fastclick' //fastclick推薦用法:使document.body下面全部的點擊都沒有300ms的延遲 fastclick.attach(document.body)
路由配置+頂部導航欄組件開發
import Recommend from '@/components/recommend/recommend' import Singer from '@/components/singer/singer' import Rank from '@/components/rank/rank' import Search from '@/components/search/search' routes: [ { path: '/', redirect: '/recommend' //默認頁面重定向到recommend路由中 }, { path: '/recommend', component: Recommend }, { path: '/rank', component: Rank }, { path: '/search', component: Search }, { path: '/singer', component: Singer } ]
<router-link tag="div" class="tab-item" to="/recommend"> <span class="tab-link">推薦</span> </router-link> <router-link tag="div" class="tab-item" to="/singer"> <span class="tab-link">歌手</span> </router-link> <router-link tag="div" class="tab-item" to="/rank"> <span class="tab-link">排行</span> </router-link> <router-link tag="div" class="tab-item" to="/search"> <span class="tab-link">搜索</span> </router-link>
注:項目來自慕課網