Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

交作业啦,使用Koa2仿的cnode,核心功能都有

$
0
0

欢迎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. 最后感谢各种包的作者,他们孜孜不倦的更新维护才能让我们拿来就用

截图

注册

注册

登录

登录

首页

首页

发布文章页

发布

查看文章页

查看

未读消息

消息

设置

设置


Viewing all articles
Browse latest Browse all 14821

Trending Articles