前言: 学习慕课网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>
注:项目来自慕课网