博客v0.6迭代记录
发布于 | 分类于 博客
博客v0.6.0将服务端主要模块迁移到TypeScript,同时补充自动部署和本地文章导入工具。
TypeScript迁移
2019-04-28开始引入TypeScript,迁移范围主要是Node.js服务端:
- 应用入口由
index.js调整为index.ts。 - 控制器、路由、模型和日志工具迁移为
.ts文件。 - MySQL访问逻辑集中到
core/mysql.ts。 - 文章、书籍和标签模型改为TypeScript实现。
- 新增
tsconfig.json管理编译目标、模块格式和输出。
迁移过程中同步删除了旧的JavaScript控制器、模型和路由实现,避免两套服务端代码并存。
目录与构建调整
服务端源码最终集中到server目录,包含:
controller:页面与接口控制器。model:文章、书籍和标签数据访问。router:Koa路由注册。isomorphic:页面与接口共用的响应处理。lib:分页、Markdown、目录和Swig辅助逻辑。build:模板渲染和静态资源映射读取。
构建配置停止跟踪历史Bundle和本地数据库配置,生成文件由构建流程负责输出。开发源码、服务器代码和产物目录的边界在这一阶段重新整理。
Webhook自动部署
2019-05-05增加Webhook服务和Shell部署脚本:
- Webhook服务接收代码仓库推送事件。
- 校验请求后触发部署命令。
- 部署脚本更新代码并重新启动博客服务。
原Node.js部署脚本被替换为deploy.sh,部署入口与博客运行服务分离。该版本页的确认时间对应提交f86b889。
本地文章导入
2019年7月继续增加Markdown文章导入工具:
- 解析本地Markdown文件及元数据。
- 将Hexo文章转换为结构化数据。
- 写入MySQL中的文章和标签数据。
- 支持单文件和目录批量上传。
- 增加
upload命令,统一调用导入流程。
服务端控制器和模型同步增加文章写入、标签关联及错误日志处理,为从文件系统维护文章提供批量同步入口。
版本结果
- 服务端核心模块完成TypeScript迁移。
- 源码目录和构建产物边界完成调整。
- Git推送后可通过Webhook触发自动部署。
- 本地Markdown文章可以批量解析并写入数据库。
- 页面端仍保留原有JavaScript和Swig结构,本次提交记录不能支持“整个前后端均已迁移到TypeScript”的结论。
提交依据
你要请我喝一杯奶茶?
版权声明:自由转载-非商用-保持署名和原文链接。
本站文章均为本人原创,参考文章我都会在文中进行声明,也请您转载时附上署名。
