All Projects → sanjings → music-pc

sanjings / music-pc

Licence: other
基于vue3+vite+typescript开发的仿网易云音乐web-pc端

Programming Languages

Vue
7211 projects
typescript
32286 projects
CSS
56736 projects
HTML
75241 projects

Labels

Projects that are alternatives of or similar to music-pc

django-vite
Integration of ViteJS in a Django project.
Stars: ✭ 201 (+593.1%)
Mutual labels:  vite
howdyjs
一个包含Javascript插件、Vue3组件、Vue3指令的工具库
Stars: ✭ 77 (+165.52%)
Mutual labels:  vite
image-optimizer
A free and open source tool for optimizing images and vector graphics.
Stars: ✭ 740 (+2451.72%)
Mutual labels:  vite
electron-vite-quick-start
⚡ Full stack uses Vite to run Electron application, including main process.
Stars: ✭ 45 (+55.17%)
Mutual labels:  vite
electron-vite-tailwind-starter
This Starter utilizes Electron, Vite and Tailwindcss in combination. It trys to adhare best practices.
Stars: ✭ 141 (+386.21%)
Mutual labels:  vite
vue-components-lib-seed
🌱 a vue3.0 components library template. Vue3.0 组件库的次佳实践.
Stars: ✭ 153 (+427.59%)
Mutual labels:  vite
unplugin-icons
🤹 Access thousands of icons as components on-demand universally.
Stars: ✭ 2,064 (+7017.24%)
Mutual labels:  vite
duxravel
Duxravel 是基于 Laravel 框架和Arco Design Vue 开发的后台管理开发框架
Stars: ✭ 61 (+110.34%)
Mutual labels:  vite
cookbook
VueJS + NodeJS Evergreen Cookbook
Stars: ✭ 440 (+1417.24%)
Mutual labels:  vite
revite
Revolt client built with Preact.
Stars: ✭ 606 (+1989.66%)
Mutual labels:  vite
nextjs-monorepo-example
Collection of monorepo tips & tricks
Stars: ✭ 874 (+2913.79%)
Mutual labels:  vite
bpmn-vue-activiti
基于Vue3.x + Vite + bpmn-js + element-plus + tsx 实现的Activiti流程设计器(Activiti process designer based on Vue3.x + Vite + BPMN-JS + Element-Plus + TSX implementation)
Stars: ✭ 345 (+1089.66%)
Mutual labels:  vite
react-device-frameset
React device frameset component
Stars: ✭ 30 (+3.45%)
Mutual labels:  vite
Dashboard
Custom your personal browser start page from some configurable components.
Stars: ✭ 619 (+2034.48%)
Mutual labels:  vite
vite-grin-wallet-ios
A CocoaPods wrapper for official Grin wallet and integrated in Vite iOS App
Stars: ✭ 16 (-44.83%)
Mutual labels:  vite
cpwp
Chinese Programmer Wrong Pronunciation
Stars: ✭ 42 (+44.83%)
Mutual labels:  vite
rgutil
rgutil是基于ES6创建的函数库工具
Stars: ✭ 22 (-24.14%)
Mutual labels:  vite
vite-plugin-banner
A banner plugin for Vite. It can adds a banner to the top of each generated chunk.
Stars: ✭ 39 (+34.48%)
Mutual labels:  vite
react-vite-twin-macro
Just want to try react, vite and twin.macro
Stars: ✭ 17 (-41.38%)
Mutual labels:  vite
timelino
Twitter-liked platform without toxic and negativity
Stars: ✭ 41 (+41.38%)
Mutual labels:  vite

music-pc

项目简介

基于vue3+vite+typescript开发的仿网易云音乐web-pc端,不使用任何UI框架,所有组件和样式均自主开发。

技术栈

已完成功能

  • 推荐页面

    • 轮播图
    • 热门推荐
    • 入驻歌手
    • 新碟上架
    • 榜单
  • 排行榜页面

    • 榜单列表
    • 榜单详情
    • 榜单评价(分页)
  • 歌单页面

    • 歌单分类
    • 歌单列表(分页)
  • 歌单详情页面

    • 歌曲列表
    • 歌单评价(分页)
  • 歌手列表页面

    • 歌手分类
    • 首字母筛选
    • 歌手列表
  • 歌手详情页面

    • 歌曲列表
  • 新碟上架页面

    • 专辑分类
    • 专辑列表(分页)
  • 歌曲播放

    • 只要有歌曲列表的地方,都可以直接点击播放
    • 底部播放
    • 歌曲控制(暂停、播放、上一首、下一首)
    • 歌词解析、展示、滚动
    • 播放列表

项目规范

  1. 所有组件的文件夹命名和文件命名用大驼峰,出口文件使用index命名;
  2. 插件命名使用大驼峰,其他所有文件和文件夹均使用小驼峰;
  3. 样式通过scss编写,所有的css类名全部小写,并用-连接;
  4. 全局类型声明和静态数据类型声明在typings文件夹中,各模块对应的类型声明在各模块的typing.ts中编写;
  5. 网络请求相关封装和api接口管理、数据处理都在apis文件夹中;
  6. 工具方法统一放在utils文件夹中,再分类管理;
  7. 插件统一放在plugins文件夹中;
  8. 自定义hooks统一放在hooks文件夹中;
  9. 页面组件和业务模块组件统一放在pages文件夹中,页面组件作为容器组件,用于处理数据、逻辑和布局,业务模块组件是对应页面的UI组件,只负责UI不负责逻辑;
  10. 通用组件和其它UI组件统一放在components中;
  11. 组件内部书写顺序:
    • 定义响应式数据(ref,reactive)
    • 解构自定义hooks
    • 定义computed
    • 生命周期函数
    • 其他逻辑代码
    • watch和watchEffect
  12. vuex规范:
    • 每个页面模块有自己独立的vuex模块,在store文件夹中模块化管理
    • state、mutations、getters、actions分离,在index中导入
    • 事件类型,在actionTypes中管理

项目运行

clone项目

git clone https://github.com/sanjings/vue3-vite-ts-music.git

安装依赖(推荐使用pnpm)

npm install pnpm -g
pnpm install

本地运行

yarn dev or npm run dev

打包

yarn build or npm run build

最后

欢迎pr,喜欢就赏个吧,谢谢支持

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].