滤波器,而实际处理请求的插件被称为
>提供者>。在第一组中,我们可以找到请求记录插件或身份验证插件,仅提及一些示例。至于提供商,它们主要是您应用程序业务逻辑的一部分。
在本文中,您将看到如何开始并使用Node.js应用程序中的Connect Middleware Framework。 该文件已经包含有关该项目的信息,但是没有声明依赖项。要将Connect声明为依赖关系,您需要在“ package.json”文件中添加依赖关系值,并将其更新如下: >
>
接下来要做的是使用HTTP的基本访问身份验证为我们网站的管理层添加身份验证。为此,我们必须探索如何仅针对服务器的管理员部分运行处理程序。 Connect的使用()函数可以将第一个参数作为request.url中的路径进行调用。因此,如果我们希望专门用于管理员部分的身份验证处理程序,则需要如下更新“ server.js”文件: > > next()函数在连接中间件中的作用是什么? Next()函数是连接中间件中的一个函数,当调用时,将控制传递到堆栈中的下一个中间件功能。如果中间软件函数中没有调用Next(),则请求响应周期将停止。它将不会继续进行任何其他中间件或路由处理程序。 Connect提供了一个内置的中间件功能来进行错误处理。此中间软件功能采用四个参数,而不是通常的三个参数:( err,req,res,下一个)。当您使用错误参数调用Next()函数时,Connect将跳过堆栈中的所有剩余中间件,然后继续进行此错误处理中间件。 > 在写作时,连接没有积极维护和更新。最后一个更新是几年前进行的。但是,它仍然被广泛使用,其功能稳定。对于更积极维护的中间件框架,您可以考虑使用express.js,该框架是在连接顶部构建的,并包含其他功能。设置连接
对于node.js,软件包的依赖关系是使用NPM完成的,它使您可以指定并获取应用程序所需的依赖软件包。 NPM的软件包依赖项是在称为package.json的文件中定义的。尽管可以手工编写此文件,但是使用NPM命令来创建它,它将更好而强烈建议使用。
要完成此任务,请运行以下命令:
$ npm init
然后将其显示为显示的问题(例如包装名称等)。完成后,您的“ package.json”文件应出现在根文件夹中,其内容类似于下面的内容:
<span>{
</span> <span>"name": "nodejs-connect-demo",
</span> <span>"version": "1.0.0",
</span> <span>"description": "Demo on how to use connect framework for Node.js",
</span> <span>"main": "server.js",
</span> <span>"scripts": {
</span> <span>"test": "echo \"Error: no test specified\" && exit 1"
</span> <span>},
</span> <span>"repository": {
</span> <span>"type": "git",
</span> <span>"url": "https://github.com/abbassoftware/nodejs-connect-demo.git"
</span> <span>},
</span> <span>"keywords": [
</span> <span>"connect"
</span> <span>],
</span> <span>"author": "Abbas",
</span> <span>"license": "",
</span> <span>"bugs": {
</span> <span>"url": "https://github.com/abbassoftware/nodejs-connect-demo/issues"
</span> <span>},
</span> <span>"homepage": "https://github.com/abbassoftware/nodejs-connect-demo"
</span><span>}</span>
<span>{
</span> <span>...
</span> <span>"dependencies": {
</span> <span>"connect": "3.x"
</span> <span>},
</span> <span>...
</span><span>}</span>
此时,我们可以运行以下NPM命令以下载所有依赖项(在这种情况下仅连接):
npm install connect --save
$ npm install
>创建一个“ Hello World”组件来响应请求
>一旦指定了依赖项,我们就可以创建一个中间件提供商,该提供商使用Hello Connect响应响应所有请求。为此,请在Node.js Project目录中创建一个“ server.js”文件,并添加以下代码:<span>var connect = require("connect");
</span><span>var app = connect();
</span>
<span>function sayHello(req<span>, res, next</span>) {
</span> res<span>.setHeader('Content-Type', 'text/plain');
</span> res<span>.end('Hello Connect');
</span><span>}
</span>
app
<span>.use(sayHello)
</span> <span>.listen(3031);
</span>
<span>console.log("Server is listening");</span>
如果我们将浏览器指向Localhost:3031,我们应该能够看到输出如下:
node server
请求和响应对象
在本节中,我们将深入研究上一节中提到的请求,响应和下一个参数。请求对象保留有关传入请求的详细信息。请求对象中的一些最重要的信息是:
>
响应对象保留将发送回的响应。您可以根据您的应用程序将标题和数据添加到它。响应对象的一些重要功能是:> setheader():此方法将标题添加到响应中。
我们将看到以下消息:>
$ npm init
添加身份验证处理程序<span>{
</span> <span>"name": "nodejs-connect-demo",
</span> <span>"version": "1.0.0",
</span> <span>"description": "Demo on how to use connect framework for Node.js",
</span> <span>"main": "server.js",
</span> <span>"scripts": {
</span> <span>"test": "echo \"Error: no test specified\" && exit 1"
</span> <span>},
</span> <span>"repository": {
</span> <span>"type": "git",
</span> <span>"url": "https://github.com/abbassoftware/nodejs-connect-demo.git"
</span> <span>},
</span> <span>"keywords": [
</span> <span>"connect"
</span> <span>],
</span> <span>"author": "Abbas",
</span> <span>"license": "",
</span> <span>"bugs": {
</span> <span>"url": "https://github.com/abbassoftware/nodejs-connect-demo/issues"
</span> <span>},
</span> <span>"homepage": "https://github.com/abbassoftware/nodejs-connect-demo"
</span><span>}</span>
然后,我们需要在“ server.js”的同一目录中创建一个“ authdetails.json”文件,并具有以下内容:
$ npm init
在上面的代码中,我们加载一个称为“ AuthDetails.json”的JSON文件(刚刚创建的),其中包括一个包含授权用户的用户名和密码列表的JSON对象。然后,我们添加了一个名为AuthentIcateadmin的连接处理程序,仅用于网站的管理部分。前面提到的处理程序检查授权标头,然后对用户名/密码对进行解码,并根据JSON文件内容对其进行检查以进行授权。如果未授权请求,则将未经授权的响应发送给客户端。
通过此更新,如果我们向网站的管理员部分提出请求,则输出将如下:
结论
在本文中,我们加深了称为Connect的小型且功能强大的node.js模块的功能。它可以帮助您构建中间件组件以轻松处理请求。使用连接和中间件插件将减少您的努力,并在一个更具结构化和可用的项目中改变应用程序。
你呢?你尝试过吗?让我们开始讨论。
经常询问有关Connect
的问题(常见问题解答)
>在Node.js?
中连接的主要目的是什么是Node.js的中间件框架。这是一个简单,灵活且功能强大的工具,可提供一系列称为中间件的高级插件。这些中间件组件执行各种任务,例如记录,服务静态文件和管理会议。连接基本上是处理HTTP请求和响应的管道。它允许开发人员通过插入不同的中间件组件来向其服务器添加其他功能。您需要在系统上安装NODE.JS和NPM(Node Package Manager)。一旦拥有这些,您可以通过在终端中运行以下命令来安装连接:npm install connect。连接应用程序上的使用()方法。使用()方法将中间件函数作为参数。然后,将此中间件功能添加到Connect的中间件堆栈中,并将以每当向服务器提出请求时添加的顺序执行。
>>我可以在Connect中创建自己的中间件吗?中间件只是一个功能,它可以访问请求对象,响应对象和应用程序的请求响应周期中的下一个中间件功能。此功能可以对请求和响应对象执行任何操作,然后在堆栈中调用下一个中间件功能。
>>如何处理连接中的错误?
我可以与其他Node.js Frameworks一起使用连接吗?
是的,Connect设计为与大多数Node.js Web框架无缝工作。实际上,许多流行的框架(例如Express.js)建立在Connect上。这意味着您可以在这些框架中使用连接中间件。
以上是连接入门的详细内容。更多信息请关注PHP中文网其他相关文章!