express的基本配置项

express自动生成的app.js中有一段代码用app.setapp.use对express进行配置,但这些配置都是什么意思,以及都能做哪些配置并没有展开。这一节就专门来讲express的配置。上节已经介绍了几个设置,接下来先介绍剩下的几个:

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参数,比如:

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

这些是express最基本的配置项,其他常用的配置项,比如压缩、数据校验、认证和授权等都可以放在这里,下节继续介绍。

转载自:图灵社区

时间: 2024-08-11 08:22:28

express的基本配置项的相关文章

IIS/IIS Express/Asp.net配置片段记录

事情的起因是,我们在项目中使用了URLRewriter.dll作为实现伪静态的工具,在VS2010及之前的开发环境中,该功能运行正常,但在VS Express 2012 for Web中就不起作用了,追究原因,找到是IIS Express配置的问题,因为IIS Express与IIS的配置很相似,并且在这个过程中对以前Asp.net配置中的未有甚解的配置项重新看过了一遍,所以记录下来,以免以后遇到这样的问题还要再将原始文档翻看一遍. 这个追究原因的过程是: IIS和IIS Express的配置

NodeJS - Express 3.0下ejs模板使用 partial展现 片段视图

如果你也在看Node.js开发指南,如果你也在一步一步实现 microBlog 项目!也许你会遇到本文提到的问题,如果你用的是Express 3.0 本书实例背景是 Express 2.0 而如今升级到 3.0后去掉了一些老的方法也更新了一些新的,所以变化还是蛮大的. 首先上一篇博客提到的一个问题: 如何用Express 3.0 生成一个 ejs 模板项目 前提是你已经下载了ejs包,如何下载,运行cmd 输入 npm install ejs -g 2.0 下的语法是:express -t ej

Node js之使用应用生成器来搭建第一个基于express的应用

摘要:原生node和express框架开发有和区别,所谓的express,就是基于框架的开发,人家已经提供了一个成型的基本骨架,在这个基础之上来进行开发,大大提高了开发效率,前一篇文章在构建一个express项目,还是需要我们写很多的代码,还不够强大.我们可以借助应用生成器,帮我们把项目的基本骨架搭建好.一般提到开发,通常有如下几种: 原生开发,所有的代码从0开始.自己做,一砖一瓦. 框架开发,底层的代码,人家已经帮我们写好了,我们要写的是具体的功能.买的毛坯房,房子成型了,但还不直接入住,需要

express框架

前面的话 Express是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助开发者创建各种 Web 和移动设备应用.本文将详细介绍express框架 概述 官网对Express的描述,它是一个基于 Node.js 平台,快速.开放.极简的 web 开发框架.优点是易上手.高性能.扩展性强 1.易上手:nodejs最初就是为了开发高性能web服务器而被设计出来的,然而相对底层的API会让不少新手望而却步.express对web开发相关的模块进行了适度的封装,屏蔽

使用express, create-react-app, mongodb搭建react模拟数据开发环境

提要 最近刚刚完成了一个vue的项目,其中涉及的用户数有6000多个以及其他数据也比较多,为了在前端能够真实的进行数据模拟,所有把全量数据拷贝下来放到了api.json中.这样导致整个api.json文件过大,每次进行修改的时候编辑器都会卡顿. 项目做完后就在想能不能把大量的模拟数据放在数据库中进行管理,用nodejs来操作数据库.顺便再熟练一下nodejs. 使用的技术栈 express 是nodejs当前最流行的后台框架.官网对express的描述,它是一个机遇Node.js平台,快 速.开

node、express框架

前面的话 Express是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮助开发者创建各种 Web 和移动设备应用.本文将详细介绍express框架 概述 官网对Express的描述,它是一个基于 Node.js 平台,快速.开放.极简的 web 开发框架.优点是易上手.高性能.扩展性强 1.易上手:nodejs最初就是为了开发高性能web服务器而被设计出来的,然而相对底层的API会让不少新手望而却步.express对web开发相关的模块进行了适度的封装,屏蔽

【NodeJS】---express配置ejs mongoose route等

express创建项目 命令行下: express prj_name cd prj_name && npm install ejs html var ejs = require('ejs'); //增加 app.set('views', path.join(__dirname, 'public/views'));//设置模板文件夹路径,可自己指定 app.engine('html',ejs.__express); //增加 app.set('view engine', 'html');//

IIS Express中如何配置支持json

今天在使用i18next的时候,由于要加载一个json的文件,但是在vs2013中一直加载不成功呢,经过上网查资料得知原来要配置iis express才能支持json文件的加载. 文件的默认位置在:C:\Users\UserName(用户名)\Documents\IISExpress\config目录下 在这个配置节<handlers accessPolicy="Read, Script">中增加以下配置项 <add name="Json" pat

IDEA部署Express工程

1.下载并安装Nodejs 2.通过Nodejs的NPM工具安装全局安装express工具,命令如下: npm install -g [email protected] npm install -g [email protected] *注:XXX代表工具的版本号,可以通过npm view express 来查看该库在仓库中现存的版本,根据个人需要安装指定版本的库.如果NPM的安装速度很慢,可以通过添加镜像的方式来解决这个问题. 在Nodejs的安装路径下面找到 “.npmrc” 文件,打开并添