文档章节

Express配置项说明

webphp
 webphp
发布于 2017/07/26 11:28
字数 505
阅读 5
收藏 0

app.use(express.favicon());
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('your secret here'));
app.use(express.session());
app.use(app.router);

 

express.favicon(iconPath):用来设置网站的图标,参数为图标的路径。如果不指明,则用默认的express图标。可以修改为:

app.use(express.favicon(path.join(__dirname,'../public/img/favicon.ico')))

express.bodyParser(): 对请求内容进行解析,支持json、 application/x-www-form-urlencoded、multipart/form-data 格式数据的解析。也就是说ajax和form发送请求时,都会经过它的处理,方便在req中获取相应的请求值。在express中处理文件上传也是用它, 可以给出参数指明上传文件存放的路径,比如:

app.use(express.bodyParser({uploadDir:'./uploads'}))

express.methodOverride():为了支持put、delete等HTTP方法,不过要客户端配合,包含相应的_method参数,比如:

<formaction='/users/1'> ...
  <inputtype="hidden"name="_method"value="put"/></form>

可以对应到:

app.put('/users/:id', users.put)

app.use(express.cookieParser('your secret here'));app.use(express.session());:是为了支持session,在这样的设置中,session会被加密保存在客户端的cookie,但这样程序重启后session就不起作用了,不过express.session支持session的持久化保存,因为express用的最多的数据库就是mongo,所以下面给出用mongo保存session的配置。首先要在package.json里加上依赖项connect-mongo

"connect-mongo":"0.3.3"

 

然后在config/express.coffee中引入connect-mongo,并修改express.session的设置:

mongoStore =require('connect-mongo')(express)

app.use express.session
      secret:'1234567890'
      store:new mongoStore
        url: config.db,
        collection :'sessions'

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没有出现,或被放在了它后面,那服务器每次遇到请求就会到硬盘上找有没有对应的静态文件,会造成性能下降。

© 著作权归作者所有

共有 人打赏支持
webphp
粉丝 1
博文 92
码字总数 92338
作品 0
海淀
程序员
SQL Server 2005 Express 远程访问设置方法

SQL Server 2005 Express 作为微软数据库的低端解决方案,在开发小型应用和WEB应用中有广泛的使用。但是SQL Server 2005 Exrpress在默认安装下只允许本机访问,如何启用网络访问功能就很有必...

LiuChang
2010/04/16
0
0
Nodejs框架演进之路

Nodejs框架演进之路 大部分框架的演进之路大体都是一样的 实现(土方法) 实践(项目实操) 看齐最佳实践 不断封装、造轮子 走出自己的特色 下面简单的介绍一下moajs的演进之路 什么是Moajs...

i5ting
2015/12/26
207
0
Node系列——express项目搭建

1、项目环境搭建 1.1、 安装node这个不多说了。 1.2、安装express,全局安装-g npm install -g express 1.3、安装express-generator,全局安装-g express4.0之后把创建一个APP的功能分离出来...

龙马行空
2015/07/23
0
6
使用Express快速搭建前端项目框架

使用Express快速搭建前端项目框架 Express是基于Node.js的前端Web开发框架,使用其可以简洁快速的创建健壮友好的API服务。在前端或移动端的开发过程中,可以借助Express的这项功能模拟API数据...

珲少
2016/11/27
508
0
mongodb备份-mmb使用说明和如何导出更可读的csv

mongodb备份和导出csv mongodb备份方式有三种 文件快照方式 复制数据文件方式 使用mongodump方式 原理 mongodb的简单备份一般使用mongoexport即可,只要你装了mongodb就有的命令,上面说的其...

i5ting
2015/08/23
0
2

没有更多内容

加载失败,请刷新页面

加载更多

vue组件传值之(父子)

⚠️组件的作用域是孤立的,vue解决组件传值问题是通过props ⚠️子传父的时候需要vm.$emit触发实例上的事件,页面需要定一个方法去取值 ⚠️一定要注意命名方式和书写,例如mylChart和myl-c...

peakedness丶
2分钟前
0
0
SpringBoot开发案例之整合Dubbo分布式服务

前言 在 SpringBoot 很火热的时候,阿里巴巴的分布式框架 Dubbo 不知是处于什么考虑,在停更N年之后终于进行维护了。在之前的微服务中,使用的是当当维护的版本 Dubbox,整合方式也是使用的 ...

微笑向暖wx
16分钟前
0
0
TypeScript基础入门之装饰器(二)

转发 TypeScript基础入门之装饰器(二) 装饰器求值 如何应用装饰器应用于类内的各种声明的顺序: 1. 对每个实例成员应用参数装饰器,后跟Method,Accessor或Property Decorators。 2. 对每个静...

durban
16分钟前
0
0
Java程序员年薪40W是什么水平?税前还是税后?

很多人学Java都是冲着Java的高薪来的,那么搞Java的程序员,年薪40W到底是个什么水平呢,本文达妹和大家一起探讨一下。 前几天在论坛看到这么一个问题,搞Java的程序员年薪40w是什么水平?一...

架构师springboot
21分钟前
1
0
区块链100讲:盘点那些常用的加密算法原理

在开发过程中,常常用到各种加密方法和算法,本文总结了几种常用加密方法的原理。 1 对称加密 原理:加密和解密数据使用同一个密钥,适合对大量数据进行加解密 安全性:关键是密钥的保存方式...

HiBlock
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部