Page 109 - Node.js开发指南
P. 109

102  第 5 章  使用 Node.js 进行 Web 开发


                 视图助手的本质其实就是给所有视图注册了全局变量,因此无需每次在调用模板引擎时
             传递数据对象。当我们在后面使用 session 时会发现它是非常有用的。

             5.5  建立微博网站


                 在前面的几节中,我们已经对 Express 进行了基本的介绍,现在让我们动手开始创建一
             个微博网站吧。

             5.5.1  功能分析

                 开发中的一个大忌就是没有想清楚要做什么就开始动手,因此我们准备在动手实践之前
             先规划一下网站的功能,即使是出于学习目的也不例外。首先,微博应该以用户为中心,因
             此需要有用户的注册和登录功能。微博网站最核心的功能是信息的发表,这个功能涉及许多
             方面,包括数据库访问、前端显示等。一个完整的微博系统应该支持信息的评论、转发、圈
             点用户等功能,但出于演示目的,我们不能一一实现所有功能,只是实现一个微博社交网站
             的雏形。


             5.5.2  路由规划

                 在完成功能设计以后,下一个要做的事情就是路由规划了。路由规划,或者说控制器规
             划是整个网站的骨架部分,因为它处于整个架构的枢纽位置,相当于各个接口之间的粘合剂,
             所以应该优先考虑。
                 根据功能设计,我们把路由按照以下方案规划。
                   /:首页
                   /u/[user]:用户的主页
                   /post:发表信息
                   /reg:用户注册
                   /login:用户登录
                   /logout:用户登出
                 以上页面还可以根据用户状态细分。发表信息以及用户登出页面必须是已登录用户才能
             操作的功能,而用户注册和用户登入所面向的对象必须是未登入的用户。首页和用户主页则
             针对已登入和未登入的用户显示不同的内容。
                 打开 app.js,把 Routes 部分修改为:

                 app.get('/', routes.index);
                 app.get('/u/:user', routes.user);
                 app.post('/post', routes.post);
   104   105   106   107   108   109   110   111   112   113   114