Nodejs基础中间件Connect
Nodejs基础中间件Connect
前言:
“中间件”在软件领域是一个非常广的概念,除操作系统的软件都可以称为中间件,比如,消息中间件,ESB中间件,日志中间件,数据库中间件等等。
Connect被定义为Node平台的中间件框架,从定位上看Connect一定是出众的,广泛兼容的,稳定的,基础的平台性框架。如果攻克Connect,会有助于我们更了解Node的世界。Express就是基于Connect开发的。
让我们开始探索Connect中间件。
文章目录:
- Connect介绍
- Connect安装
- Connect内置中间件介绍
- logger
- cookieParser
- session
- cookieSession
- compress
- basicAuth
- bodyParser
- json
- urlencoded
- multipart
- timeout
- reponseTime
- methodOverride
- csrf
- static
- staticCache
- directory
- vhost
- favicon
- limit
- query
- errorHadnler
请查看博客文章
Nodejs基础中间件Connect
前言:
“中间件”在软件领域是一个非常广的概念,除了操作系统外的软件都可以称为中间件,例如消息中间件、企业服务总线(ESB)中间件、日志中间件、数据库中间件等。
Connect 被定义为Node平台的中间件框架。从定位上看,Connect一定是出众的、广泛兼容的、稳定的、基础的平台性框架。如果攻克了Connect,会有助于我们更深入了解Node的世界。实际上,Express就是基于Connect开发的。
让我们开始探索Connect中间件。
文章目录:
- Connect介绍
- Connect安装
- Connect内置中间件介绍
- logger
- cookieParser
- session
- cookieSession
- compress
- basicAuth
- bodyParser
- json
- urlencoded
- multipart
- timeout
- responseTime
- methodOverride
- csrf
- static
- staticCache
- directory
- vhost
- favicon
- limit
- query
- errorHandler
Connect介绍
Connect 是一个轻量级的中间件框架,用于构建Web应用和服务。它提供了一组可组合的中间件函数,可以用来处理HTTP请求。这些中间件函数可以根据需要堆叠在一起,形成复杂的请求处理流程。
Connect安装
首先,你需要安装Node.js和npm(Node包管理器)。然后,你可以通过npm安装Connect:
npm install connect
Connect内置中间件介绍
以下是几个常用的Connect中间件示例及其用途:
logger
logger
中间件用于记录HTTP请求的日志信息。以下是一个简单的示例:
const connect = require('connect');
const app = connect();
app.use(connect.logger('dev'));
app.use((req, res) => {
res.end('Hello World\n');
});
app.listen(3000);
在这个例子中,connect.logger('dev')
会以开发模式记录HTTP请求的信息。
bodyParser
bodyParser
中间件用于解析HTTP请求体中的数据。例如,解析JSON或URL编码的数据:
const connect = require('connect');
const app = connect();
const bodyParser = require('body-parser');
app.use(bodyParser.json()); // 解析JSON格式的请求体
app.use(bodyParser.urlencoded({ extended: true })); // 解析URL编码的请求体
app.use((req, res) => {
res.end(JSON.stringify(req.body));
});
app.listen(3000);
static
static
中间件用于提供静态文件服务:
const connect = require('connect');
const serveStatic = require('serve-static');
const app = connect()
.use(serveStatic(__dirname + '/public'));
app.listen(3000);
在这个例子中,serve-static
中间件将 ./public
目录下的静态文件提供给客户端访问。
总结
通过上述示例,我们可以看到Connect中间件框架提供了丰富的功能,使得构建Web应用变得更加简单和高效。无论是日志记录、请求体解析还是静态文件服务,Connect都提供了相应的中间件来满足需求。希望这些示例能帮助你更好地理解和使用Connect。
connect是不是类似ruby的rack,python的wsgi
相当于java的spring,对ruby,python不熟
这样来说, connect会比express更好
express本来就是基于connect构建的,又封装一些web的特征,还用到其他的包。
<pre><code> “connect”: “2.7.8”, “commander”: “0.6.1”, “range-parser”: “0.0.4”, “mkdirp”: “0.3.4”, “cookie”: “0.0.5”, “buffer-crc32”: “0.2.1”, “fresh”: “0.1.0”, “methods”: “0.0.1”, “send”: “0.1.0”, “cookie-signature”: “1.0.1”, “debug”: “*”, “qs”: “0.6.3” </code></pre>
我们在express中会定义很多的app.use,这些都是直接用的connect。
<pre><code> app.use(express.favicon()); app.use(express.logger(‘dev’)); app.use(express.compress()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.cookieParser()); app.use(express.cookieSession({secret : ‘moiveme’})); </code></pre>