express的基本配置项

本文详细介绍了Express.js中常用的核心中间件,包括网站图标设置、请求内容解析、HTTP方法扩展、Cookie与Session管理及路由处理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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 框架 #### 下载 Express 为了安装 Express 框架,需要先确保 Node.js 和 npm 已经正确安装在本地环境中。接着,在命令行工具中运行以下命令来全局安装 `express-generator` 脚手架工具以及项目依赖中的 Express: ```bash npm install -g express-generator ``` 这一步会将 `express-generator` 安装到系统的全局环境,从而允许通过命令行快速初始化一个新的 Express 应用程序。 对于项目的局部依赖项,则可以在目标目录下执行如下命令以安装 Express 到当前项目中: ```bash npm init -y npm install express --save ``` 上述操作会在项目文件夹内生成 package.json 文件,并记录 Express 的版本信息作为依赖之一[^1]。 #### 基本配置 创建一个名为 index.js 或 app.js 的入口文件用于加载 Express设置基础服务端逻辑。下面是一个简单的例子展示如何构建基本 Web 服务器: ```javascript const express = require('express'); const bodyParser = require('body-parser'); // 解析 POST 请求数据所需中间件 // 初始化应用实例 const app = express(); // 使用 body-parser 中间件解析 JSON 数据格式 app.use(bodyParser.json()); // 设置监听端口 const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); }); // 示例 GET 路由 app.get('/', (req, res) => { res.send('Welcome to the home page!'); }); ``` 此代码片段展示了如何引入必要的模块、定义路由处理函数以及让服务器开始监听指定端口号上的连接请求[^2]。 如果希望支持 HTML 表单提交或者更复杂的表单数据结构,还需要额外安装并配置 `body-parser` 插件以便能够正确读取来自客户端发送过来的数据内容[^3]。 另外值得注意的是,当涉及到动态路径匹配时,可以利用冒号标记 (:variableName) 创建参数化 URL 映射规则,比如 `/users/:id` 可用来表示访问任意用户资料页面的情况[^4]。 #### 启动应用程序 完成以上步骤之后,只需简单地运行 node 加上你的主脚本名称即可启动整个流程: ```bash node index.js ``` 随后打开浏览器输入地址 http://localhost:3000/ 即能看到预期效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值