该项目是个人博客项目的服务端部分,采用Node开发。使用了Egg框架。因为是前后端分离,服务端只提供API供前端使用。接下来将对该项目进行大致的说明。后续也会写一份更为详细的免费的《Node全栈开发——带你从零开发前后端分离的个人网站》教程,再次带你从零开发到部署上线的全过程。敬请期待!
该项目采用Node开发,为了方便大家学习交流,我想在正式启动和运行项目前,有必要对项目技术栈做一个大致说明:
- 语言
Node
- 框架
Egg
- 数据库
Mysql
前面我们看到了效果了,也做了简要的说明。那么我们应该怎么启动这个项目呢?
$ git clone https://github.com/immisso/blog-server
$ npm install
或者
$ yarn install
该项目用到了Mysql
数据库,理所当然的就需要数据库的配置。在/config/
路径下创建一个secret.js
文件(我习惯把放重要配置的文件叫secret.js。你也可以根据你自己的喜好任意修改名字。)。这个文件里放了我们常用的配置。比如数据库相关配置、cookie过期时间、加密的Key等。
'use strict';
module.exports = {
DATABASE: '', // 数据库名
HOST: '', // HOST
PORT: '', // 端口
USERNAME: '', // 用户名
PASSWORD: '', // 密码
SECRET: '', // 加密Key
EXPIRES: 60 * 30 * 12, // cookie过期时间
};
该项目使用Sequelize来操作数据库。使用sequelize-cli
做数据库的迁移,非常方便,只需要我们提前定义好运行文件,需要的时候就可以直接操作并映射到数据库。如果你对sequelize-cli
还不太了解可以参考官方文档migrations。由于我提前把一些常用的命令写到了package.json
文件中的scripts
中,操作起来就更加方便了,只要执行
yarn migrate
对应的数据表就创建好了。
为了方便测试,再创建数据表后,可以运行如下命令后添加一些初始化的数据,其中会自动创建2个测试账户,2篇文章,和一些分类、标签。这一步是可选的,如果你不需要初始化数据,可以选择不运行它。
yarn seed
准备工作已经做完,我们就可以启动项目了。
$ npm run dev
或
$ yarn dev
再启动前端项目,整个项目就运行起来了。
该项目需要和个人博客项目配合起来使用。其整体运行效果如下:
该项目会长期更新。会逐步完善其他许多功能。如写教程功能、邮件提醒、用户管理、主题风格、代码风格等。欢迎长期关注。