项目中要用到passport登录验证,环境如标题样:express框架,coffee模版引擎,node后台

一:建项目

直接用express命令建,虽然默认模版为jade,可以手动换成coffee哦。打开命令行,D盘:

express passportTest    

会出来一堆create,然后

cd passportTest

在passportTest文件夹下会看到创建好的文件和文件夹

                           package.json 文件       

dependencies : 项目依赖项,可手动增减。

可以修改配置文件,然后通过npm install 来安装所有的依赖模块,也可以一个一个的安装。我是通过修改dependencies来一次性安装了。最新版本为latest字段

npm install

这样dependencies下面的依赖模块都已经安装在一个叫“node_module”的文件夹里

再来看整个目录结构,用express生成的文件结构不太符合mvc模式,所以我手动改了下文件结构,将routes文件夹换为controllers,加models文件夹。

目录结构生成好后,接下来改模版引擎,改为coffee的语法结构,引用coffeecup的模版引擎。先改app.js文件为coffee,内容如下:

在views下改写index.coffee

在controllers/routes.coffee中引用所有的controllers,

运行后。。。 成功跑起来。。。

但是有问题:

express.favicon(iconPath):用来设置网站的图标,参数为图标的路径。如果不指明,则用默认的express图标。上面报错找不到favicon.ico

修改:

也可以自定义图标放public下,改‘/public/favicon.ico’即可

屏蔽app.use express.logger('dev'),使用中间件方法在代码里加入自己打印的日志:

app.use (req, res, next) ->console.info '[HEAD]' + req.method + ' ' + req.urlconsole.info '[BODY]' + JSON.stringify(req.body)next()

第一次加入的时候,并不能打印出console.log ,后来查原因是该方法必须写在app.use(app.router)前面,中间件的优先顺序问题。先看看app.router是干嘛的:

app.router是connect router的加强版,用来处理app.getapp.post等请求处理设置,在浏览器访问这些设置中对应的url时,express.router会调用相应的function。如果不显式调用app.use(app.router),express会在第一次碰到app.get(...)之类的设置时隐含调用,所以这个可以不用出现在配置项里,但.use的顺序很关键,所以显式调用比较好。

比如在use中出现app.use(express.static(path.join(__dirname, 'public')));时,如果router没有出现,或被放在了它后面,那服务器每次遇到请求就会到硬盘上找有没有对应的静态文件,会造成性能下降。所以app.router要放在调用静态文件的前面。

简单理解:app.router里边会创建一个路由map,把类似app.get、app.post等的所有路由的url和callback做一个映射保存,当req.url命中路由时执行相应的回调。如果不显式调用app.use(app.router);则会在第一条默认路由里边隐式调用。

调用app.use(app.router);app.router会暂存req对象,当后面再定义路由时,app.get('/foo', function(req, res, next) {});这里的req应该用的是之前保存下来的,所以有些关联的功能会没有,比如没有req.flash ]

最后输出自己想要的格式:

下一篇写passport验证

express+nodecoffee写passport登录验证实例(一)相关推荐

  1. java shiro登录实例_Shiro安全框架入门篇(登录验证实例详解与源码)

    转载自http://blog.csdn.net/u013142781 一.Shiro框架简单介绍 Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权.Shiro在JavaSE和J ...

  2. SpringMVC 登录验证实例

    1.pom.xml中加入SpringMVC的依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=& ...

  3. java秒嘀短信登录验证实例_java web实现手机短信验证码登录实例

    运行环境 jdk7+tomcat7 项目技术(必填) Servlet+Ajax+Bootstrap 数据库文件 我这里没用到数据库,比较简单,如果需要用到数据库不会的话可以私信我或者加我QQ jar包 ...

  4. Asp.NetMVC利用LigerUI搭建一个简单的后台管理详解(含登录验证)

    1.打开VS新建一个MVC项目,右键点击项目新建一个区域Admin作为后台部分 2.既然要做登录限制我们在App_Start下面新建一个类 继承Controller作为基处理控制器. 里面Sessio ...

  5. Asp.NetMVC利用LigerUI搭建一个简单的后台管理详解(函登录验证)

    上一篇 Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页 了解了LigerUI 中Grid的基本用法  现在结合上一篇的内容做一个简单的后台管理,当然也有前台的页面. ...

  6. php链接mysql实例之用户登录验证以及使用cookie登录

    这篇博客实现用户登录验证以及使用cookie登录,它承接了前面的几个博客: 1. php连接mysql实例之新用户注册实现 2. php连接mysql实例之后台列表显示已注册的用户信息 3. php连 ...

  7. Express实现登录验证

    Express实现的路由登录,这套代码适用于很多场景,特此记录,以备后用. 首先是主文件:server.js const express = require('express'); const sta ...

  8. ASP.NET MVC 登录验证

     好久没写随笔了,这段时间没 什么事情,领导 一直没安排任务,索性 一直在研究代码,说实在的,这个登录都 搞得我云里雾里的,所以这次我可能也讲得不是 特别清楚,但是 我尽力把我知道的讲出来,顺便也对自 ...

  9. 三层架构-----实践篇-登录小实例

    上一篇博客小编简单介绍了一下我们在软件开发过程中应用到的三层架构基本理论.光有理论还是远远不够的,只有真正的 在项目中实践过,才能更好地理解它的精髓所在.接下来小编以一个实现登录功能的小例子来展现三层 ...

最新文章

  1. 机器学习读书笔记(一)
  2. 测试基于2SK241的150kHz的导航信号高频放大器
  3. 《Python知识手册》,高清pdf免费获取
  4. 做人力资源需要掌握python_9种人力资源分析工具,高效打造数字化HR全流程
  5. PHP ctf addslashes,[红日安全]代码审计Day13 - 特定场合下addslashes函数的绕过
  6. 理解SNS系列之二:更进一步,近观SNS
  7. mac 接口压测工具jmeter的详细安装教程
  8. Vs2010中文版MSDN 安装方法
  9. Tomcat8出现To prevent a memory leak, the JDBC Driver has been forcibly unregistered
  10. python——t检验和ks检验
  11. Mac OS X 快捷键(完整篇)
  12. 幻灯片自动播放的实现
  13. 边云协同的优点_探析云边协同的九大应用场景
  14. 黑视素照度(EML) Equivalent Melanopic Lux 计算工具
  15. 图像检索|经典论文阅读|快速入门|综述学习
  16. 利达主机联网接线端子_利达消防设备接线图
  17. ZIGBEE------协调器断开重连,终端设备无法重新入网。
  18. 249、海康8700监控服务平台如何配置手机远程访问
  19. Ten Simple Rules for Effective Statistical Practice
  20. OIM同步OID(OID-Connector 9.0.4.12)

热门文章

  1. 使用pip安装requests模块(超级简单)+ pip升级失败问题的解决
  2. vue-cli项目中单文件组件引入bootstrap.js异常的解决方案
  3. 树莓派3B的WiFi中文乱码及搜索不到附近的WiFi_解决方案:
  4. 不支持的major.minor版本52.0 [重复]
  5. 如何删除所有已合并的Git分支?
  6. 模拟存储器管理C语言,操作系统-存储器管理实验C语言.doc
  7. ur3 aubo movit机械臂运动
  8. Android配置http请求
  9. oracle1设置0000进程,oracle各后台进程简介
  10. pythonsocket自动化教程_Python基本socket通信控制操作示例