记录工作中的点点滴滴

手把手教你开发nodejs微博网站-开站篇

手把手教你开发nodejs微博网站-开站篇

引子

本项目参考Nodejs开发指南一书的第5章,受限于书中的nodejs和express版本太低,相当一部分代码在新版本的nodejs和express下都是无法使用,因此自己通过nodejs社区和参考网上的一些问题解决方式,最终完成了一个社交微博网站的雏形。

一.项目功能

微博网站以用户为中心,包括:

  1. 用户注册
  2. 用户登录
  3. 用户发表信息
  4. 显示用户发表的信息
  5. 权限控制
  6. 其它功能

由于要保存用户信息,这里要牵涉到数据库连接,我使用的是Mongodb
本人也是nodejs的初学者,暂时先完成了着一些基本的功能。
还有其它的功能点,比如:对微博的评论,转发等功能会在后面的学习中一步一步完善。

二.开发环境

nodejs社区的版本更新比较频繁。列一下我的开发环境:

  1. 操作系统: OSX Yosemite 10.10.5
  2. nodejs : v5.1.0
  3. express : 4.14.0
  4. MongoDB : 3.2.7

没有安装express的可以点我的另一篇文章,有详细的介绍。

三.项目截图:

用户注册

用户注册reg界面

用户登录

用户注册login界面

用户发表信息

用户注册publish界面

显示用户发表的信息

用户注册show界面

登录密码错误

在注册成功后,尝试登录时,如果密码错误,则提示:
登录密码错误

四.权限控制

比如,在未登录的情况下,

  • 访问 /logout时,会提示:
    未登录

用户已经登陆过时:

  • 手动输入 /login后,不让render 登录页面,且提示已经登录
  • 手动输入 /reg 后,不让render 注册页面,且提示已经登录

五.优化路由

通过express.router和写公共中间件来优化路由

六.优化errHander

当在测试环境下出现错误的路由时,会出现智能提示,显示错误信息
errorHander

七.项目下载地址

托管在github上:点这里
大概情况就是这样,下一节开始详细讲解 用户注册模块,敬请大家关注。
今天是2016年的最后一天,祝大家新年快乐,也希望我能把写博客的习惯带到2017年,给保留下去。
我会在后面分篇陆续讲解每一个模块的实现,大家有什么情况可以给我留言。