基于koa2、vue2、mongodb的个人网站(后端序篇)

项目地址

前言

这不阿里云搞活动可领取六个月免费使用云主机么。闲来无事就领了个,想着写个个人主页玩玩。至于采用什么技术呢?好吧,那当然是什么新用什么啦!纯粹是检验自己学习能力O(∩_∩)O哈哈~。
虽然目前做的是前端,不过后端我也会呀。就是太久没有接触了,怕手生。之前做的还是j2ee,好怀念。本着学习新技术,此次后端采用koa2。
和之前的对比

以前 现在
语言 Java Javascript
数据库 mysql mongodb、redis
认证 session-cookie jwt

目录结构

├── assets                     // 静态文件  
│   ├── uploads                // 保存上传的文件
├── build                      // 构建相关  
├── log                        // 日志
├── src                        // 源代码
│   ├── config                 // 配置文件
│   ├── controllers            // 控制器,mvc中的controller
│   ├── middleware             // 中间件
│   ├── models                 // 模型,mvc中的model
│   ├── routes                 // 路由
│   ├── services               // 服务方法
│   ├── utils                  // 工具方法
│   └── app.js                 // 启动文件
├── .babelrc                   // babel-loader 配置
├── .editorconfig              // 编辑器配置项
├── .eslintignore              // eslint忽略项
├── eslintrc.js                // eslint 配置项
├── .gitignore                 // git 忽略项
├── LICENSE                    // LICENSE
└── package.json               // package.json
└── publicKey.pub              // 存放鉴权的密钥

首先说下基本工具

构建工具

本来想采用webpack,超喜欢它的热刷新有木有。可惜实现了发现麻烦了点,
实现方法见koa2后端热更新,遂用了nodemon简单重启了下。

eslint

无论是基于什么原因,代码风格一致是必须的。何况博主处女座。自行配下即可。鉴于规则较多,费了点时间基本涵盖了所有规则,当然都是贴于我自己喜欢的。不过基本上都注释了,有兴趣的话可以看看。eslintrc.js
本人使用的IDE为vscode ,以下为本人配置

基于koa2、vue2、mongodb的个人网站(后端序篇)_第1张图片

其实可以看看一些优秀团队的配置(node_modules下定位到具体包查看即可)。

实现的一些手段

首先说下咱们做什么。怎么说呢?大体就是使用koa2实现一个RESTFUL API服务端给个人网站提供服务。

认证/授权

认证授权机制采用有状态JWT。后端采用Redis控制Token时效。前端采用accesstoken、refreshtoken双token机制。
具体原理方法看此

你可能感兴趣的:(基于koa2、vue2、mongodb的个人网站(后端序篇))