Kavita项目开发环境搭建与贡献指南
项目概述
Kavita是一个开源的电子书阅读服务器项目,它允许用户在自己的服务器上搭建个人电子书库,并通过网页浏览器访问阅读。该项目采用前后端分离架构,后端使用.NET技术栈,前端基于Angular框架。
开发环境准备
基础工具要求
-
开发IDE:
- Visual Studio 2019或更高版本(社区版免费)
- 或者使用JetBrains Rider(推荐替代方案)
-
前端开发工具:
- 可选择VS Code、Sublime Text、WebStorm等任意HTML/JavaScript编辑器
-
版本控制:
- Git客户端工具
-
运行时环境:
- NodeJS 18.13.X或更高版本
- .NET 9.0+ SDK
-
API文档工具:
- 安装Swashbuckle CLI工具:
dotnet tool install -g Swashbuckle.AspNetCore.Cli
- 安装Swashbuckle CLI工具:
项目初始化步骤
1. 获取源代码
首先需要获取项目源代码到本地开发环境。建议通过Git进行代码管理。
2. 前端依赖安装
进入项目前端目录并安装所需依赖:
cd Kavita/UI/Web
npm install
npm install -g @angular/cli
3. 启动前端开发服务器
执行以下命令启动Angular开发服务器:
npm run start
4. 后端项目配置
在Visual Studio或Rider中:
- 打开解决方案文件
- 设置API项目为启动项目
- 构建并调试项目
5. 访问开发环境
前端开发服务器默认运行在4200端口,访问地址为:
http://localhost:4200
移动设备调试技巧
如需在移动设备上测试开发版本,需要修改前端环境配置:
- 找到
Web/UI/src/environments/environment.ts
文件 - 将
IP
常量值从localhost
改为开发机的实际IP地址
代码贡献规范
开发流程建议
-
功能开发前沟通:
- 对于已有需求的功能,请先在相关讨论区确认是否有人正在开发
- 新增功能建议先与核心团队沟通
-
代码管理规范:
- 使用rebase而非merge来同步上游代码
- 提交信息应清晰明确
- 鼓励在开发过程中就创建PR以便早期反馈
-
代码风格:
- 使用4个空格作为缩进(C#代码)
- 前端文件使用2个空格缩进
- 使用Unix风格的换行符
分支管理策略
- 每个功能/修复应创建独立分支
- 分支命名应具有描述性,例如:
feature/parser-enhancements
bugfix/book-issues
- 避免使用模糊的分支名如
new-feature
或fix-bug
API开发与测试
项目提供了Swagger UI用于API测试:
- 进入API项目目录:
cd Kavita/API
- 启动API服务:
dotnet run -c Debug
- 访问Swagger界面:
http://localhost:5000/swagger/index.html
如遇Swagger生成问题,可运行以下命令诊断:
swagger tofile --output ../openapi.json API/bin/Debug/net8.0/API.dll v1
构建与部署
项目提供了构建脚本build.sh
,支持多种运行时标识符(RID)。可根据目标平台执行相应构建命令。
通过遵循以上指南,开发者可以顺利搭建Kavita项目的开发环境,并按照规范贡献代码。项目采用现代Web开发技术栈,适合对.NET和Angular技术感兴趣的开发者参与。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考