说明

为什么我要部署这个项目?
答案很简单:听歌不想花钱。
在没有部署之前,我是用的酷我提供的API。感谢酷我
但是近半年来,酷我的API越来越不稳定了。所以,在此基础上,我使用了GD Studio's Online Music Platform API,本文也是根据此api获取的音乐播放链接。

开始之前

你需要准备:

  • 一个能访问github的电脑。
  • 安装了node.js 24版本或以上
  • 配置好了npm镜像以及下载了pnpm模块

后端的部署

首先,后端部署比较简单只需要访问


将项目源码下载到你的电脑,然后按照教程,在项目目录里执行

pnpm i

然后等待模块儿全部安装完毕
image.png
当你看到如上图一样的就表示你安装成功了,接下来就可以执行

# 默认端口 3000
node app.js

执行后就会显示
image.png
访问后端,你就会看到
image.png
到此,后端部署完毕【当然,到这里还是使用的网易云音乐的api,无法获取付费音乐,如何修改我们放在第三步来说明】

前端的部署

前端我试了很多的网易云项目,如AlgerMusicPlayer、SPlayer、YesPlayMusic等。
YesPlayMusic界面比较素(太素了,啥也没有),所以没有使用;AlgerMusicPlayer没有手机端适配,没有使用;最终选择了SPlayer作为前端。


同样的,将项目下载下来,在项目目录执行

pnpm install

安装完依赖后,复制 .env.example 为 .env 并按需修改,如:将 .env 文件中的 VITE_API_URL 改为第一步得到的 API 地址VITE_API_URL = "http://localhost:3000";【最后不能/】
执行编译打包之前,需要再添加一句SKIP_NATIVE_BUILD=true
所以最后你的.env文件样式可能是

# WEB 端口
VITE_WEB_PORT=14558
# API 端口
VITE_SERVER_PORT=25884
# API 地址 - 结尾不要加 /
VITE_API_URL=http://localhost:3000

SKIP_NATIVE_BUILD=true

执行编译打包

pnpm build

文件输出在out/renderer 目录,本地测试可以按照下面的方法,首先安装 http-server

pnpm install http-server

模块安装完成后执行

http-server -p 4000

访问http://127.0.0.1:4000/,就可以发现已经部署成功了!
image.png

修改后端Api

因为版权限制,无法听vip音乐,除非你账号本来就有vip【不过既然你有vip了还部署这个干嘛】

默认关闭试听,需要在设置里打开
修改获取音乐链接的代码【明天再编辑博客,睡觉】

注意事项

部署在服务器时,你不能进行以下操作
单独前端启用 HTTPS或单独后端启用 HTTPS,这会报错【现代浏览器会阻止这种混合内容(Mixed Content)请求】,你将无法在前端获取任何内容。