Vue.js音樂播放器2.0升級版

Vue.js音樂播放器2.0升級版

之前初學Vue做了一個音樂播放器,受到不少人的喜歡?,F在升級版來了!功能更強,技術棧更多。

源代碼

源代碼地址:?? GitHub
歡迎大家star和follow??

預覽

在線預覽

在線預覽地址:?? Vue音樂播放器

預覽圖

Vue音樂播放器升級版 - microzz.com
Vue音樂播放器升級版 - microzz.com

更多預覽圖請看?? 更多

技術棧

Vue2:采用最新Vue2的語法??
Vuex:實現不同組件之間的狀態共享??
vue-router:單頁應用路由管理必備??
axios:發起http請求??
SASS(SCSS):css預處理語言??
Express(上線版本是Koa2):因為vue-cli是用的Express做服務器,所以開源的開發版本是Express,自己生產環境用的是Koa2。 ??
Webpack:自動化構建工具,大部分配置vue-cli腳手架已經弄好了,很方便。??
ES6:采用ES6語法,這是趨勢。??
localStorage(HTML5):本地存儲,保存用戶個性化設置。??
CSS3:CSS3動畫及樣式。??

使用 Build Setup

# 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 --report

遇到的問題

  1. vuex什么時候使用,如何使用,就要看項目需要。引用 Redux 的作者 Dan Abramov 的話說就是:

Flux 架構就像眼鏡:您自會知道什么時候需要它。

各組件之間狀態共享也是難點。

  1. 異步編程:JS是單線程,異步編程尤為重要。當我們向后端請求數據,是異步的,如果沒有處理好相關的異步操作,是會有各種問題的。JS可以利用setTimeout回調GeneratorPromise、Async。
    定時這種方式太麻煩,還是不推薦;回調層次多了,有回調地獄,代碼維護性很差;Generator需要手動去執行,當然可以使用類似co的模塊。相比之下PromiseAsync是比較理想的。(詳看??Promise對象異步操作和Async函數)
  2. 本項目中使用了QQ音樂和One(一個)的接口,后端API編寫也是難點,包含了各種異步請求。對返回數據的解析也是難點,有的時候你還需要對數據進行解碼。
  3. 各組件結構的設計:一開始大綱沒設計好,后面想修改涉及面會很廣。
  4. 過渡動畫讓交互更有趣,但是有的還是耗性能的,有設備差異,沒用好會造成卡頓。

【聲明】:本項目僅供學習交流,請不要用做任何商業用途??有任何疑問請聯系作者??zhaohui@microzz.com

About

源代碼地址:?? GitHub
個人網站:??microzz.com
GitHub:??microzz

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容