文档章节

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
海淀
程序员
私信 提问
Nodejs框架演进之路

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

i5ting
2015/12/26
207
0
SQL Server 2005 Express 远程访问设置方法

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

LiuChang
2010/04/16
467
0
mongodb备份-mmb使用说明和如何导出更可读的csv

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

i5ting
2015/08/23
0
2
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

没有更多内容

加载失败,请刷新页面

加载更多

Qt那些事0.0.15

以下与Q_DECLARE_METATYPE相关内容全部是翻译自Qt文档。参看QVariant Class | Qt Core 5.9以及QMetaType Class | Qt Core 5.9 QVariant QVariant::fromValue(const T& value) 返回一份包含v......

Ev4n
7分钟前
1
0
spring上传文件返回绝对路径,简单工具类

import com.google.common.io.Files;import lombok.extern.slf4j.Slf4j;import org.springframework.web.multipart.MultipartFile;import java.io.File;import java.io.IOExceptio......

Boss-x
18分钟前
1
0
1个开发如何撑起一个过亿用户的小程序

本文由云+社区发表 2018年12月,腾讯相册累计用户量突破1亿,月活1200万,阿拉丁指数排行 Top 30,已经成为小程序生态的重量级玩家。 三个多月来,腾讯相册围绕【在微信分享相册照片】这一核...

腾讯云加社区
24分钟前
6
0
golang ssh包使用方法介绍

在使用gexpect包发现很多问题之外,这里又尝试使用ssh user@127.0.0.1的思路进行用户切换。这里记录下具体的使用方法,遇到的ssh: must specify HostKeyCallback 问题的解法方法及最终使用过...

linuxprobe16
30分钟前
0
0
layer

Layui Layer在open弹出层中异步加载数据和form表单radio、checkbox、select不渲染,不可点击的解决办法 layer 实现弹窗提交信息 function confirmUpdateAward(i) { layer.open({ ...

mickelfeng
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部