您的位置:首页 > 运维架构 > 网站架构

NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证

2017-04-08 11:58 721 查看
目录

  开发环境

  1、建立工程

  2、目录结构

  3、Express配置文件

  4、Ejs模板

  5、安装常用库及页面分离

  6、路由

  7、session

  8、页面访问控制及提示

  JS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在HTML页面里 的JS,浏览器充当了解析器的角色。而对于需要独立运行的JS,NodeJS就是一个解析器。每一种解析器都是一个运行环境,不但允许JS定义各种数据结 构,进行各种计算,还允许JS使用运行环境提供的内置对象和方法做一些事情。例如运行在浏览器中的JS的用途是操作DOM,浏览器就提供了 document之类的内置对象。而运行在NodeJS中的JS的用途是操作磁盘文件或搭建HTTP服务器,NodeJS就相应提供了fs、http等内 置对象。Express作为NodeJS的Web应用框架,可以帮助我们快速开发Web网站。

  开发环境

NodeJS:v0.10.30

npm:1.4.21

OS:Win7旗舰版 32bit

Express:4.2.0

MongoDB:2.6.3

  1、建立工程

  使用express命令建立工程,并支持ejs:

  根据提示下载依赖包:

  工程建立成功,启动服务:

  本地3000端口被打开,在浏览器地址栏输入localhost:3000,访问成功。

  2、目录结构

bin——存放命令行程序。

node_modules——存放所有的项目依赖库。

public——存放静态文件,包括css、js、img等。

routes——存放路由文件。

views——存放页面文件(ejs模板)。

app.js——程序启动文件。

package.json——项目依赖配置及开发者信息。

  3、Express配置文件

  打开app.js:

  4、Ejs模板

  修改app.js,让ejs模板文件使用扩展名为html的文件:

  修改完成后,重命名views/index.ejs为views/index.html。重启服务,访问成功。

  5、安装常用库及页面分离

  添加bootstrap和jQuery:

E:\project\nodejs-demo> npm install bootstrap
bootstrap@3.2.0 node_modules\bootstrap
E:\project\nodejs-demo> npm install jquery
jquery@2.1.1 node_modules\jquery
E:\project\nodejs-demo>


  接下来,把index.html分成三个部分:

header.html——页面头部区域。

index.html——页面内容区域。

footer.html——页面底部区域。

  header.html

  index.html

   footer.html

 重启服务,访问成功。

  6、路由

  登录设计:

访问路径页面描述
/index.html不需要登录,可以直接访问。
/homehome.html必须用户登录以后,才可以访问。
/loginlogin.html登录页面,用户名密码输入正确,自动跳转到home.html。
/logout退出登录后,自动跳转到index.html。
  打开app.js文件,增加路由配置:

 打开routes/index.js文件,添加对应方法:

  创建views/login.html和views/home.html两个文件:

  login.html

  home.html

 修改index.html,增加登录链接:

  路由及页面已准备好,重启服务,访问成功。

  7、session

  安装中间件express-session:

  安装中间件connect-mongodb:

  安装中间件mongodb:

  添加database/settings.js和database/msession.js这两个文件:

  settings.js

  msession.js

  修改app.js文件:

  修改index.js文件:

  本地安装数据库MongoDB,新建用户nodedb。重启服务,访问成功。

  8、页面访问控制及提示

  访问控制设计:

访问路径描述
/任何人都可以访问,不需要认证。
/home拦截get请求,调用authentication()进行认证,不通过则自动跳转到登录页面。
/login任何人都可以访问,不需要认证。
/logout任何人都可以访问,不需要认证。
  修改index.js文件:

  重启服务,访问成功。

  添加页面提示,修改app.js文件,增加res.locals.message:

  修改index.js文件,增加req.session.error:

  修改login.html,增加<%- message %>:

  重启服务,访问成功。输入错误用户名密码:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐