项目地址: github.com/XYShaoKang/…
背景
为了解决在手机上浏览 PC 本地视频不方便的问题.
之前如果要在手机去观看 PC 本地的视频,需要以下几个步骤
- 先将文件夹设置共享或者使用 WebDAV 之类的方式共享文件夹
- 在手机上安装支持对应协议(SMB,WebDAV,FTP,NFS 等)的播放器或者文件浏览器
- 通过 IP 和对应协议连接上之前共享的文件夹
- 播放视频
这些步骤,对于观看一个视频来说太麻烦了,而且这些步骤即使对于一个比较熟悉各系统配置的人来说,也需要花费一些时间去折腾.
这个项目就是为了解决这个问题,只需要一个命令,即可在手机上使用浏览器查看 PC 上的视频.
目标
创建一个命令行工具,可以通过命令行启动一个服务,核心目标: 让局域网中的设备可以通过浏览器查看本地指定目录下的视频文件.之后会添加更多功能,比如记录播放进度,拉取弹幕(如果存在),认证等功能
定义
工作内容
- 使用 Rush + pnpm 来管理项目
- 全部使用 TypeScript 编写代码
- 前端界面使用 React 来实现
- CLI 使用 Yargs 来处理命令行处理,使用 Koa 提供 HTTP 服务
- 通过 GitHub + Travis CI 实现自动化测试,发布,部署等
项目计划,以及现在的进度情况
- 8.23 - 8.24 搭建环境
- 8.25 - 8.29 实现前端基础框架
- 8.29 - 9.2 实现后端 CLI 功能
- 9.3
- CLI 跟前端对接,跑通整个生命周期
- 发布
- 9.3 - 9.5 文档编写
个人目标: 学习使用 Rush + pnpm
通过实际的使用,熟悉 Rush 的命令,加深了对使用 Rush 来维护项目时整个工作流的理解,以及各种工具和 Rush 集成,并记录和发表了关于使用 Rush + pnpm 的踩坑记录的文章
资源投入
一个人独立开发,使用工作日一些零散时间,加上两个周末,总计耗时 30 个小时左右开发完成
演示
总结
- 完成 CLI 核心功能
- 学习使用 Rush 管理项目
- 学习了如何去书写文档