/blog-server

这是博客网站服务端egg+koa2

Primary LanguageJavaScript

个人博客网站服务端

该项目是个人博客项目的服务端部分,采用Node开发。使用了Egg框架。因为是前后端分离,服务端只提供API供前端使用。接下来将对该项目进行大致的说明。后续也会写一份更为详细的免费的《Node全栈开发——带你从零开发前后端分离的个人网站》教程,再次带你从零开发到部署上线的全过程。敬请期待!

技术栈

该项目采用Node开发,为了方便大家学习交流,我想在正式启动和运行项目前,有必要对项目技术栈做一个大致说明:

  • 语言 Node
  • 框架 Egg
  • 数据库 Mysql

如何开始

前面我们看到了效果了,也做了简要的说明。那么我们应该怎么启动这个项目呢?

clone 项目到本地

$ 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

再启动前端项目,整个项目就运行起来了。

运行效果

该项目需要和个人博客项目配合起来使用。其整体运行效果如下:

首页详情页

写文章

管理页

特别说明

该项目会长期更新。会逐步完善其他许多功能。如写教程功能、邮件提醒、用户管理、主题风格、代码风格等。欢迎长期关注。