react+koa+mongodb+redis个人技术博客(github地址),求star,求fork,一起学习说明:参考项目:React-Express-Blog-Demo,如果基础比较薄弱,可以拿一个先看看这个项目。比较详细,因为是比较后端的,所以前端改动不多,主要是后端的一些改动,代码改动和遇到的一些问题以及解决方案改动的基本介绍会贴出来稍后,相关代码会贴出来,主要说一下:前端:增加了后台管理评论功能,主要是评论评论,开启评论,增加了github第三方登录功能,文章增加了评论功能,用户可以发表评论和点赞后端:backend终端由express改成了koa,相应的中间件也改了。数据库增加token+session认证机制。进行了一些字段更改并添加了注释。日志模块可以实现具体的文件名和行号提示工程结构。只涉及后端,前端基本没有变化。这里的功能和其他文章管理没什么区别。主要问题是需要在组件中放置columns数组对象,否则无法获取到this对象和对应的props。另外,antd库,在使用switch组件时,defaultChecked在面对Pagination页面变化时,状态不能改变,还是显示上一页的状态。这里需要用到checked属性,具体代码,前端第三方github登录功能的说明。这里有两种解决跨域问题的方法。具体代码及解决方案前端文章评论功能是通过我借鉴上面项目中的教程开发的。风格基于github的issue结构。具体代码位于博客的/app/containers/comment文件夹中,这里不再赘述。唯一需要注意的是,评论或点赞时需要更新reactstatebackend。后端框架修改,将框架由express改为koa2。中间件可以查看blog/server/api/apiServer.jstoken+session函数。在后台中间件中,这里添加了token中间件(检测token)和admin中间件(检测是否为admin)。代币中间件在这里处理流程是先检查请求路径是否需要验证token,如果需要则检查请求头上的authorization字段,满足则进入路由,将token值添加到响应上的Authorization字段header结束后,这里如果前后端使用不同的端口会导致跨域问题,具体代码和解决方法后端数据库字段修改和增表下面是一些表字段的修改和表的添加。唯一需要注意的是mongoose.model方法的表名中没有s。它将自动添加。另外还用到了mongodb的aggregate,pipeline等。这里使用具体的代码和程序单元测试和代码检查单元测试。jest主要是因为它有内嵌断言等,并且支持react。代码位于博客的/test文件夹中,目前只写登录测试界面,以后有空再补充。代码检查,使用了eslint库,extends标准,在日志模块中加入了一些自己的规则。网上其实还有其他方法。定义一个全局的错误变量,可惜es5已经不支持了。这里我用来定义一个全局函数。调用的时候会产生错误,然后通过正则Number和文件信息获取代码行,具体代码环境react@16.3.1react-router@4.2.0node@8.9.1mongodb@4.0.2webpack@4.4.1运行gitclonehttps://github.com/oyosc/blognpminstallnpmrunstart-prod独立打包npmrunbuildpm2启动npminstallpm2-gpm2-imaxstartnpm--runstart-prod-debug(可以查看包这里命令的.json文件)开发数据库文件地址:blog_db从头开始??构建项目有兴趣的请移步我的博客TODO,打算有空的时候实现推送。至于其他的,让我们多看看。由于一直从事后端程序员的工作,开始前端感觉很麻烦。如果您有任何问题,请提出问题。有空我再回答,最后欢迎star,欢迎fork,一起学习
