由于服务器在国外,网络可能会有波动,所以部分的API请求时间会很久,导致页面加载速度变慢
【前端】
Vue:用于构建用户界面的 MVVM 框架。它的核心是响应的数据绑定和组系统件vue-router:为单页面应用提供的路由系统,项目上线前使用Lazy Loading Routes来实现异步加载优化性能vuex:Vue 的集中状态管理,在多个组件共享一些状态vue-lazyload:第三方图片懒加载库,优化页面加载速度better-scroll:轮播图和页面的上下滑动,都是利用better-scroll进行优化Stylus:css 预编译处理器ES6:项目中用到的模块化、解构赋值、Promise、Class、aysnc awaitstorage: 项目中将歌曲播放历史,搜索数据存储在localstorage中,以此优化用户播放体验和搜索体验
【后端】
Node.js:利用 Express 起一个服务做代理服务器进行数据的抓取jsonp:服务端通讯。根据QQ音乐的资源请求方式,使用jsonp进行抓取 QQ音乐(移动端)数据axios:服务端通讯。结合 Node.js 代理后端请求, 部分请求需要携带refer和host进行验证,抓取 QQ音乐(PC端)数据
【自动化构建及其他工具】
vue-cli:Vue 脚手架工具,快速初始化项目代码,以及 webpack 的配置eslint:代码风格检查工具,规范代码书写vConsole:移动端调试工具,在移动端输出日志Charles:方便查看移动端网络请求数据
主要页面:播放器内核页、推荐页、歌单详情页、歌手页、歌手详情页、排行页、搜索页、添加歌曲页、个人中心页等。 核心页面:播放器内核页、搜索页面
A Vue.js project
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --reportFor a detailed explanation on how things work, check out the guide and docs for vue-loader.