交作业啦,使用Koa2仿的cnode,核心功能都有
发布于 1 年前 作者 hezhongfeng 2242 次浏览 来自 分享

欢迎star,第一次制作web,从零开始,学到了很多,兴趣越来越大,坑也越来越多了,目前正在整vue2 如果有像我一样新手的话,也会从中得到一点

koa2-Blog

简要说明

  1. 在学习Qt中QML的时候接触了JavaScript,后来知道可以用node做网站就有了一个想法,学习制作一个网站。公司的业务也是这方面的,自己独立制作会给我很大的帮助
  2. 选择做什么类型网站的时候,选择做一个简单的博客类网站,模仿对象是cnode
  3. node框架选择的时候选择了Koa2,因为比较新,也有很多人说是未来的趋势

涉及到的技术问题

  • 使用ES7的Async/Await,避免回调地狱
  • 模板引擎使用的ejs,因为比较简单,html也不熟
  • 数据库使用的mysql,ORM使用的sequelize
  • 前端框架使用的Semantic UI

功能

  1. 新建、登录账户
  2. 账户基本信息设置,包括头像
  3. 发表主题文章
  4. 在文章下面回复,@别人进行回复,在别人回复下面直接回复
  5. 积分、积分系统
  6. 使用爬虫做的DOTA2比赛预告信息

我做的时候涉及到的问题点

  1. 文件上传时寻找合适的 body 解析包,后来找到koa-better-body,其他的包可能是我没用明白
  2. 前端UI框架使用的Semantic UI因为,nswbmw写的教程里面使用的它,当时还不知道别的UI框架
  3. 写主题文章时想找比较好的markdown前端UI,最喜欢的是segmentfault上的,后来使用的Houfengmditor也挺不错的
  4. 头像上传用的cloudinary,现在估计会使用七牛云了
  5. 上传头像进行剪裁的库使用的cropper
  6. 爬虫使用的是cheerionode-schedule非常简单,这里爬的DOTA2的比赛时间表,同时为了防止heroku休眠,我把自己的网站给爬了,因为可以唤醒…
  7. 实现at某用户时参考cnode的源码使用的atwho,然后后台读取数据时将@xx 替换成符合markdown的链接的格式
  8. heroku是个好东西,git远程更新完就自动运行,同时提供了mysql和很多别的数据库

感谢

  1. 感谢koa2-easy这个框架,是在此基础上做的很多功能的添加
  2. 感谢nswbmw大神的几个项目,我都学习了很多
  3. 感谢cnode网站,在上面问了很多问题,有很多好心人照顾我这个小白
  4. 最后感谢各种包的作者,他们孜孜不倦的更新维护才能让我们拿来就用

截图

注册

注册

登录

登录

首页

首页

发布文章页

发布

查看文章页

查看

未读消息

消息

设置

设置

11 回复

前排,,我也正在用koa准备写个东西。小白路过

厉害了,学习学习~

@hacklinshell 我也是小白,参考了很多大神的东西,你可以看下源码。

麻烦问下,我把你的代码荡下来了,我该怎么运行呢,不要笑,智商无下限小白一个。

@peichao123 你去github上提问吧~ 这都是老坟了

@peichao123 速度,我等着回答呢~

学习了 自豪地采用 CNodeJS ionic

async/await有传染性

回到顶部