React-music 全家桶项目
React-Music 全家桶项目
一、简介
该项目是基于React全家桶开发的一个音乐播放器,技术栈采用:Webpack + React + React-redux + React-router + Node + Sass + Es6 + Localstorage + Css3,基本音乐API使用http-proxy酷狗音乐的,在此感谢酷狗音乐!项目涉及的知识点非常广泛,基于react全家桶技术都有使用,独立开发,精品之作,具有很好的参考价值!
1、项目依赖基本核心版本:
react: "^15.6.1",
react-dom: "^15.6.1",
react-router: "^4.2.0",
react-router-dom: "^4.2.2"
react-redux: "^5.0.6",
redux: "^3.7.2",
webpack: "^3.5.5",
webpack-dev-server: "^2.7.1"
2、该音乐播放器基本功能:
展示最新的推荐歌单、歌单、排行榜、歌手;
音乐的播放、暂停、上一首、下一首、删除当前播放列表功能;
基本搜索功能;
喜欢音乐加入收藏列表;
模拟登录功能(随便输入用户名,密码即可);
3、项目Github地址: react-music
4、项目基本预览,直接移步 github 吧!
二、项目结构
├── src(主目录)
│ ├── actions(Redux action)
│ │ ├── xxx.js
│ │ └── ...
│ ├── components(木偶组件目录)
│ │ ├── Artist
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ ├── Common
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ ├── Home
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ ├── New
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ ├── Play
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ ├── Rank
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ ├── Search
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ └── User
│ │ ├── xxx.js
│ │ └── ...
│ ├── constants(Constant常量)
│ │ └── index.js
│ ├── reducers(Redux reducer)
│ │ ├── index.js
│ │ └── ...
│ ├── containers(智能组件目录)
│ │ ├── Artist
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ ├── Home
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ ├── New
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ ├── Play
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ ├── Rank
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ ├── Search
│ │ │ ├── xxx.js
│ │ │ └── ...
│ │ └── User
│ │ ├── xxx.js
│ │ └── ...
│ ├── routes(路由)
│ │ └── index.js
│ ├── static(静态目录)
│ │ ├── css
│ │ │ ├── xxx.scss
│ │ │ └── ...
│ │ └── images
│ │ └── ...
│ ├── store(Redux store)
│ │ └── configureStore.js
│ ├── util(工具目录)
│ │ ├── xxx.js
│ │ └── ...
├── templates(模板)
│ └── index.html
├── dist(打包目录)
│ ├── css
│ │ └── xxx.css
│ ├── js
│ │ ├── xxx.js
│ │ └── ...
│ ├── favicon.ico
│ └── index.html
├── node_modules
│ └── ...
├── README.md
├── app.js(Express启动配置)
├── server.js(主服务配置)
├── webpack.config.js(基本配置)
├── webpack.prod.config.js(生产环境配置)
├── yarn.lock
└── package.json
screenshot与images.md为截图说明文件,是为了方便查看,与本项目无关!
三、如何执行
1、将项目克隆到本地,cd 到 react-music
git clone git@github.com:chenjun1127/react-music.git
cd react-music
2、安装依赖
npm install or yarn install
3、执行
npm start or yarn start
// npm run build(打包)
4、打开浏览器浏览 http://localhost:3000/
四、项目总结
整体项目实现了一个基本播放器应有的功能,但个别功能还有待完善,比如收藏列表本地持续化存储、登录注册未做真正限制等。觉得项目不错的,可以给个Star,谢谢!
Tips:在npm install or yarn install 的时候,请确保网络良好,如个别依赖安装不了,请设置淘宝镜像为安装源;
如有问题:请联系QQ:402074940
React-music 全家桶项目的更多相关文章
- react-music React全家桶项目,精品之作!
React-Music 全家桶项目,精品之作! 一.简介 该项目是基于React全家桶开发的一个音乐播放器,技术栈采用:Webpack + React + React-redux + React-ro ...
- 基于 vite 创建 vue3 全家桶项目(vite + vue3 + tsx + pinia)
vite 最近非常火,它是 vue 作者尤大神发布前端构建工具,底层基于 Rollup,无论是启动速度还是热加载速度都非常快.vite 随 vue3 正式版一起发布,刚开始的时候与 vue 绑定在一起 ...
- 已配置好的vue全家桶项目router,vuex,api,axios,vue-ls,async/await,less下载即使用
github 地址: https://github.com/liangfengbo/vue-cli-project 点击进入 vue-cli-project 已构建配置好的vuejs全家桶项目,统一管 ...
- 【React自制全家桶】六、React性能优化(持续更新总结)
一.通过虚拟DOM来提升性能(自动) 底层讲解见[React自制全家桶]二.分析React的虚拟DOM和Diff算法 二.将多次setState合并为一次执行(自动) 底层讲解见[React自制全 ...
- vue3 vite2 封装 SVG 图标组件 - 基于 vite 创建 vue3 全家桶项目续篇
在<基于 vite 创建 vue3 全家桶>一文整合了 Element Plus,并将 Element Plus 中提供的图标进行全局注册,这样可以很方便的延续 Element UI 的风 ...
- 开箱即用 yyg-cli(脚手架工具):快速创建 vue3 组件库和vue3 全家桶项目
1 yyg-cli 是什么 yyg-cli 是优雅哥开发的快速创建 vue3 项目的脚手架.在 npm 上发布了两个月,11月1日进行了大升级,发布 1.1.0 版本:支持创建 vue3 全家桶项目和 ...
- 【React自制全家桶】一、Webstrom+React+Ant Design+echarts搭建react项目
前言 一.React是Facebook推出的一个前端框架,之前被用于著名的社交媒体Instagram中,后来由于取得了不错的反响,于是Facebook决定将其开源.出身名门的React也不负众望,成功 ...
- 【React自制全家桶】九、Redux入手
一.React项目中为什么要用Redux 上图: 左图当使用纯React开发稍微大点的项目,因为React数据是瀑布式的,只能通过父子组件传递数据,所以实现关系不大的两React的组件之间的数据传递就 ...
- 【React自制全家桶】七、React实现ajax请求以及本地数据mock
一.下载axios插件 yarn add axios 二.React的ajax请求代码如何放置 建议放置在生命周期函数之componentDidMount()中 三.ajax之get请求 axios. ...
随机推荐
- Java微笔记(7)
String 类常用方法 注意点: 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引:如果没有匹配 ...
- mysql不能启动报error2013错误的解决办法
Mysql mysql lost connection to server during query 问题解决方法 2013-10-16 11:10:53 缘由: 在查询Mysql中的数据库,或者修改 ...
- HDU 5434 Peace small elephant 状压dp+矩阵快速幂
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5434 Peace small elephant Accepts: 38 Submissions: ...
- 如何利用Xshell在Linux下安装jdk
本文会详细介绍如何在Linux下安装JDK1.8 首先要设置虚拟机的IP地址,不知道如何设置的话可以 翻看我的前一篇博客 http://www.cnblogs.com/xiaoxiaoSMILE/ ...
- lintcode-501-迷你推特
501-迷你推特 实现一个迷你的推特,支持下列几种方法 postTweet(user_id, tweet_text). 发布一条推特. getTimeline(user_id). 获得给定用户最新发布 ...
- JarvisOJ平台Web题部分writeup
PORT51 题目链接:http://web.jarvisoj.com:32770/ 这道题本来以为是访问服务器的51号端口,但是想想又不太对,应该是本地的51号端口访问服务器 想着用linux下的c ...
- 【.Net】C# 将Access中时间段条件查询的数据添加到ListView中
一.让ListView控件显示表头的方法 在窗体中添加ListView 空间,其属性中设置:View属性设置为:Detail,Columns集合中添加表头中的文字. 二.利用代码给ListView添加 ...
- Hadoop基于Protocol Buffer的RPC实现代码分析-Server端--转载
原文地址:http://yanbohappy.sinaapp.com/?p=110 最新版本的Hadoop代码中已经默认了Protocol buffer(以下简称PB,http://code.goog ...
- BZOJ 1566 管道取珠(DP)
求方案数的平方之和.这个看起来很难解决.如果转化为求方案数的有序对的个数.那么就相当于求A和B同时取,最后序列一样的种数. 令dp[i][j][k]表示A在上管道取了i个,下管道取了j个,B在上管道取 ...
- bzoj4815[CQOI2017]小Q的格子
题意 不简述题意了,简述题意之后这道题就做出来了.放个原题面. 小Q是个程序员. 作为一个年轻的程序员,小Q总是被老C欺负,老C经常把一些麻烦的任务交给小Q来处理. 每当小Q不知道如何解决时,就只好向 ...