1.1.4:搭建多人博客

1.功能分析

搭建一个简单的多人注册,登录,发表文章及登出功能的博客

2.设计目标

未登录:主页左侧导航显示home、login、register,右侧显示已发表文章,发表日期及作者

登陆后:主页左侧导航显示home、post、logout,右侧显示已发表文章,发表日期及作者

用户登录、注册、发表成功后 以及登出后都返回到主页

(1)未登录

主页

登录页

注册页

(2)登录后

主页

发表页

注意:没有登出页,点击logout后,退出登录并返回首页

3.路由规划

既然把设计的构想图贴出来了,接下来的任务就是完成路由规划了。路由规划,或者说控制器规划是整个网站的骨架部分,因为它处于整个架构的枢纽位置,相当于各个接口之间的黏合剂,所以应该优先考虑。

根据设计的构想图,做出以下路由规划:

/:首页

/login:用户登录

/register:用户注册

/post:发表文章

/logout:登出

要求/login和/register只能是未登录的用户访问,而/post和/logout只能是已登录的用户访问。左侧导航列表则针对已登录和未登录的用户显示不同的内容。

修改1.1.3节的index.js如下:

module.exports = function(app){
app.get("/",function(req,res){
res.render("index",{
title:"主页"
});
}); app.get("/login",function(req,res){
res.render("login",{
title:"登陆"
}); });
app.get("/register",function(req,res){
res.render("register",{
title:"注册"
});
});
app.get("/post",function(req,res){
res.render("post",{
title:"发布"
}); });
app.get("/logout",function(req,res){ });
};

  如何针对已登录和未登录的用户显示不同的内容呢?或者说如何判断用户是否登录了呢?进一步说,如何记住用户的登录状态呢?我们可以通过引入会话(session)机制记住用户登录状态,还要访问数据库来保存和读取用户信息。在不久的将来,1.1.5节我们就来学习如何使用数据库。

bootstrap.min.css文件的下载地址或者直接引用也行:https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css

设计node.js搭建多人博客的思路(不讲数据库)的更多相关文章

  1. MongoDB + express + node + bootstrap 搭建多人博客

    这篇博客讲述如何搭建一个多人博客,需要一定的基础知识,用于思路整理和备忘. 第一步: 新建文件夹 blog ,结构如下: bin --- 可执行二进制文件,最终的启动接口. models --- 存储 ...

  2. 2015年12月12 Node.js实战(一)使用Express+MongoDB搭建多人博客

    序,Node是基于V8引擎的服务器端脚本语言. 基础准备 Node.js: Express:本文用的是3.21.2版本,目前最新版本为4.13.3,Express4和Express3还是有较大区别,可 ...

  3. nodejs实战《一起学 Node.js》 使用 Express + MongoDB 搭建多人博客

    GitHub: https://github.com/nswbmw/N-blog N-blog 使用 Express + MongoDB 搭建多人博客 开发环境 Node.js: 6.9.1 Mong ...

  4. 第1章 Express MongoDB 搭建多人博客

    学习环境 Node.js : 0.10.22 + Express : 3.4.4 + MongoDB : 2.4.8 + 快速开始 安装 Express express 是 Node.js 上最流行的 ...

  5. 基于Node.js的ghost开源博客平台

    Ghost 是一套基于Node.js 构建的开源博客平台(Open source blogging platform),具有易用的书写界面和体验. 1.安装node windows 下安装npm:ht ...

  6. Ubuntu14.04LTS下安装Node.js&NPM以及个人博客hexo的初始化配置

    什么是hexo Hexo 是一款基于node 的静态博客网站生成器作者 :tommy351是一个台湾的在校大学生...相比其他的静态网页生成器而言有着,生成静态网页最快,插件丰富(已经移植了大量Oct ...

  7. 【nodejs笔记4】搭建多人博客<内含http请求的get post方法区别>

    功能分析 博客具有四个功能:注册  登录  登出  发表文章 界面设计 未登录: [主页  注册页  登录页] [主页] 主页 左侧 HOME                             ...

  8. [js高手之路]Node.js+jade抓取博客所有文章生成静态html文件

    这个周末,恶补了一下jade模板引擎,就为生成静态html文件,这篇文章需要知道jade以及看过我的上篇文章,我先给出他们的参考链接: [js高手之路]Node.js模板引擎教程-jade速学与实战1 ...

  9. 【nodejs笔记1】配置webstorm + node.js +express + mongodb开发博客的环境

    1. 安装webstorm 并破解 2. 安装node (以及express框架) 至官网下载并安装.(http://nodejs.org)v0.10.32   msi  安装后测试,打开命令行, c ...

随机推荐

  1. iDoc「文档」功能强势升级!一键分享,即刻预览!(201903-1版本更新)

    小摹很想知道小伙伴们在面对众多杂乱的文档时,都是如何管理起来的呢?iDoc的「文档」功能,很多小伙伴还没有用起来,甚至都没有注意到iDoc还有这样一个功能.今天小摹就给大家介绍一下iDoc的「文档」功 ...

  2. mysql---select的五种子句学习(where、group by、having、order by、limit)

      mysql---select的五种子句学习(where.group by.having.order by.limit) 分类: Mysql学习2012-09-27 16:14 1533人阅读 评论 ...

  3. john and hydra using de-ice1.100

    配置IP  ipconfig etho 192.168.179.111 http://192.168.179.111/index2.php curl http://192.168.179.111/in ...

  4. centos7配置Hadoop集群环境

    参考: https://blog.csdn.net/pucao_cug/article/details/71698903 设置免密登陆后,必须重启ssh服务 systermctl restart ss ...

  5. [solution] JZOJ 5459. 密室

    [solution] JZOJ 5459. 密室 Description 小X 正困在一个密室里,他希望尽快逃出密室. 密室中有$N$ 个房间,初始时,小X 在1 号房间,而出口在N 号房间. 密室的 ...

  6. Http协议和Tomcat服务器

    Http协议和Tomcat服务器 什么是Http协议 HTTP,超文本传输协议(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议. Http协议的组成 Ht ...

  7. Java学习笔记29(集合框架三:泛型)

    泛型的概念: 简单地讲,就是同一个方法(类),可以接受不同的数据类型并运行得到相对应的结果,不会出现安全问题 上一篇有一段这样的代码: 没有定义集合类型.迭代器类型 package demo; imp ...

  8. AlarmManager的使用和七牛云android SDK上传图片

    一学期的课程设计又开始了,虽然以后不搞安卓,但是课设还是想好好完成的,因为之前做过地图开发,所以选了一个跟 这个相关的题目,其实有一个校车系统也可以选,但是之前做过一个相似度接近80%的东西,不想混混 ...

  9. python numpy安装

    一.python下的numpy安装方法 第一步:安装python,这里不做介绍. 第二步:打开cmd看python是否安装成功. 第三步:输入 python -m pip install -U pip ...

  10. 使用.NET Core与Google Optimization Tools实现加工车间任务规划

    前一篇文章<使用.NET Core与Google Optimization Tools实现员工排班计划Scheduling>算是一种针对内容的规划,而针对时间顺序任务规划,加工车间的工活儿 ...