这是一个基于Node.js——Express框架的单页面应用(Single Page Application)方法开发的个人博客。支持解析MarkDown并生成静态HTML。
##特性## 博客前后端分离,系统构架实现了层次化、组件化。 ###前端### 前端通过Vue+Vuex,实现了组件化。各组件相互配合,通过将各组件组合形成页面。
所有Vue组件保存在public/javascripts/src/components文件夹。
前端资源均使用webpack打包。 ###后台### 后台基于Node.js的Express框架,分为视图层、路由层、服务层,其中视图层用于显示HTML页面,但考虑到其解析Pug模版带来的性能问题,改用静态HTML对其进行替换。
##文件结构##
- conf:配置文件
- demoImages:软件开发中不同进度与版本的demo图片
- docs:说明文档
- models:数据表定义
- servers:服务层
- tests:单元测试
- utility:通用工具集
- GPL.txt:开源协议
- 其他为express框架自动生成
以粗体标示的文件夹,生产环境无需包含,可删除
##初始化## 初始化中,后台部分用于下载软件运行所必需的模块,前端部分则是用于开发过程中使用webpack重新对前端资源进行打包
以下是包配置文件的位置。
1.前端
public/javascripts/package.json
2.后台
package.json
进行初始化请在相应的路径执行npm install或cnpm install
##配置## 配置文件保存在 conf/conf.js,其中包含数据库/系统等配置信息,所有信息均采用JSON格式存储。
##测试## 所有单元测试用例保存在tests文件夹,主要提供了对Servers(服务层)的测试。所有测试用例均以xxx.test.js格式命名。
单元测试由Mocha模块提供支持,进行单元测试请在终端中执行以下命令:
mocha 测试用例.test.js
##运行## 运行博客,请在配置好Node.js与Express框架及其他模块后,执行以下命令:
npm start bin/www
或者你也可以使用Forver、PM2等模块。
##安装##
- 将数据库等信息写入配置文件
- 创建数据库
- 配置并运行博客后,在浏览器中访问
yourdomain/install
之后按照提示设置进行数据库连接测试、创建数据表、创建管理员等操作即可。
##版权## 本软件遵循GPL (GNU GENERAL PUBLIC LICENSE,GNU通用公共许可证)。