Maison >interface Web >js tutoriel >Commencer avec Connect

Commencer avec Connect

Jennifer Aniston
Jennifer Anistonoriginal
2025-02-19 08:51:10170parcourir

Commencer avec Connect

Les plats clés

  • Connect est un framework de serveur HTTP extensible pour Node.js qui permet aux développeurs d'écrire des composants modulaires et réutilisables à l'aide de plugins middleware. Ces plugins traitent et transmettent les demandes, soit gèrent directement les demandes.
  • Les composants middleware sont créés à l'aide de fonctions qui acceptent la demande, la réponse et les paramètres suivants. Le paramètre «suivant» représente le gestionnaire suivant de la chaîne. Ces composants sont ensuite utilisés dans le serveur Connect à l'aide de la fonction Use ().
  • Plusieurs composants middleware peuvent être utilisés dans Connect, chaque composant remplissant des fonctions spécifiques telles que les détails de la demande de journalisation ou la fourniture de réponses. L'ordre d'utilisation du middleware est important, car ils sont exécutés dans la séquence, ils sont ajoutés au serveur.
  • Connect permet l'ajout de gestionnaires d'authentification pour des sections spécifiques d'un site Web. Ceci est réalisé en utilisant la fonction use (), qui peut prendre le premier paramètre comme chemin dans demande.url pour que le gestionnaire soit invoqué. Le gestionnaire d'authentification vérifie l'en-tête d'autorisation, décode la paire de noms d'utilisateur / mot de passe et le vérifie par rapport à un fichier JSON pour autorisation.
Si vous avez besoin d'écrire des composants modulaires et réutilisables, Connect pourrait être la meilleure solution pour vous. Il traite de un framework de serveur HTTP extensible pour Node.js à l'aide de «plugins» appelés middleware.

Un composant middleware est un plugin qui obtient une demande, puis fait un traitement, après quoi il peut gérer et mettre fin aux demandes ou les transmettre sur le plugin Middleware suivant. Les plugins qui traitent la demande et le transmettent sur les gestionnaires suivants sont appelés filtres , tandis que ceux qui gèrent réellement la demande sont appelés fournisseurs . Dans le premier groupe, nous pouvons trouver le plugin de journalisation ou le plugin d'authentification de demande, pour mentionner quelques exemples. Quant aux fournisseurs, ils feraient principalement partie de la logique commerciale de votre application.

Dans cet article, vous verrez comment démarrer et utiliser le Connect Middleware Framework dans vos applications Node.js.

Configuration de la connexion

Pour Node.js, la dépendance du package est effectuée avec NPM, qui vous permet de spécifier et d'obtenir les packages dépendants requis pour votre application. Les dépendances de package pour NPM sont définies dans un fichier appelé package.json. Bien que ce fichier puisse être écrit à la main, il serait mieux et fortement recommandé d'utiliser la commande NPM pour le créer. Pour réaliser cette tâche, exécutez la commande suivante:
$ npm init
Et puis Eply aux questions qu'il montrera (comme le nom du package, etc.). Une fois terminé, votre fichier «package.json» doit apparaître dans le dossier racine avec du contenu qui ressemble à celui ci-dessous:
<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>

Ce fichier contient déjà des informations sur le projet, mais il n'a aucune dépendance déclarée. Pour déclarer la connexion en tant que dépendance, vous devez ajouter la valeur de dépendance dans votre fichier «package.json» et le mettre à jour comme suit:

<span>{
</span>  <span>...
</span>  <span>"dependencies": {
</span>        <span>"connect": "3.x"
</span>  <span>},
</span>  <span>...
</span><span>}</span>
Alternativement, vous pouvez exécuter la commande:
npm install connect --save
À ce stade, nous pouvons exécuter la commande NPM suivante pour télécharger toutes les dépendances (connecter uniquement dans ce cas):
$ npm install

Création d'un composant «Hello World» pour répondre aux demandes

Une fois les dépendances spécifiées, nous pouvons continuer à créer un fournisseur de middleware qui répond à toutes les demandes à l'aide de la réponse Hello Connect. Pour ce faire, créez un fichier «server.js» dans votre répertoire de projet Node.js et ajoutez le code suivant:

<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>
Dans le code ci-dessus, nous chargeons d'abord le module de connexion à l'aide de la fonction node.js require (), puis créons un serveur à l'aide de la valeur de retour de la fonction. Deuxièmement, nous créons un composant middleware, qui n'est rien d'autre qu'une fonction qui prend trois paramètres: Demande , réponse, et ensuite. Ensuite, représente le prochain gestionnaire de la chaîne. La fonction Sayhello () définit l'en-tête et le texte de réponse dans l'objet de réponse. Ensuite, nous utilisons ce composant middleware grâce à la fonction use (). Enfin, nous permettons au serveur d'écouter le port 3031. Maintenant, nous pouvons exécuter notre application Connect en utilisant la commande ci-dessous:
node server
Si nous dirigeons notre navigateur vers LocalHost: 3031, nous devrions être en mesure de voir la sortie comme suit: Commencer avec Connect

Les objets de demande et de réponse

Dans cette section, nous nous plongerons dans la demande, la réponse et les paramètres suivants que nous avons mentionnés dans la section précédente. L'objet de demande contient les détails de la demande entrante. Certaines des informations les plus importantes des objets de demande sont:

  • Méthode: contient le type de demande: obtenir, publier, etc.
  • URL: contient l'URL complète de la demande. Vous pouvez analyser cette URL pour obtenir les paramètres de requête pour les demandes de GET.
  • En-têtes: c'est la propriété que vous pouvez utiliser aux en-têtes de demande.
L'objet de réponse contient la réponse qui sera renvoyée. Vous pouvez y ajouter des en-têtes et des données en fonction de votre application. Certaines fonctions importantes de l'objet de réponse sont:

    sethEader (): Cette méthode ajoute un en-tête à la réponse.
  • retireHeader (): Cette méthode supprime un en-tête à la réponse.
  • write (): il est utile d'écrire une réponse partielle à l'objet de réponse.
  • end (): c'est une méthode utilisée pour marquer la fin de la réponse.
en utilisant plusieurs composants middleware dans Connect

Dans la dernière section, nous avons créé un fournisseur de middleware qui répond avec «Hello Connect» à toutes les demandes. Nous allons maintenant ajouter un autre middleware filtre qui enregistre les détails de la demande entrante. Ensuite, nous passerons la demande à notre Sayhello () qui renverra la réponse. Pour réaliser cette autre tâche, nous mettrons à jour notre fichier "Server.js" avec le code suivant:

Dans le code ci-dessus, nous avons ajouté un composant middleware de plus à l'aide de la fonction loggingMiddleware (). Il enregistre l'URL et la méthode de la demande, et analyse l'URL pour imprimer un nom possible paramètre fourni. Ensuite, il appelle la fonction suivante () qui passera la demande au gestionnaire suivant. Lorsque nous faisons en sorte que le serveur Connect écoute le port, nous utilisons d'abord LoggingMiddleware () puis SayHello (). Maintenant, si nous commençons le serveur Node.js et exécutons la commande suivante:
$ 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>
Nous verrons les messages suivants:

Commencer avec Connect Ajout d'un gestionnaire d'authentification

La prochaine chose à faire est d'ajouter une authentification à la section Admin de notre site Web en utilisant l'authentification de base de l'accès de HTTP. Pour ce faire, nous devons explorer comment pouvons-nous exécuter un gestionnaire uniquement pour la section Admin de notre serveur. La fonction Use () de Connect peut prendre le premier paramètre comme ce qui devrait être le chemin de la demande de demande pour que le gestionnaire soit invoqué. Donc, si nous voulons que le gestionnaire d'authentification soit exclusivement pour la section Admin, nous devons mettre à jour le fichier "Server.js" comme suit:

<span>{
</span>  <span>...
</span>  <span>"dependencies": {
</span>        <span>"connect": "3.x"
</span>  <span>},
</span>  <span>...
</span><span>}</span>
Ensuite, nous devons créer un fichier "Authdetails.json" dans le même répertoire de "Server.js" avec le contenu suivant:

$ npm init
Dans le code ci-dessus, nous chargeons un fichier JSON appelé «AuthDetails.json» (celui qui vient de créer) qui comprendra un objet JSON contenant les listes de nom d'utilisateur et de mot de passe des utilisateurs autorisés. Ensuite, nous ajoutons un autre gestionnaire de connexion appelé authenticateadmin utilisé uniquement pour la section Admin du site Web. Le gestionnaire mentionné précédemment vérifie l'en-tête d'autorisation, puis décode la paire de noms d'utilisateur / mot de passe et le vérifie par rapport au contenu du fichier JSON pour l'autorisation. Dans le cas où la demande n'est pas autorisée, une réponse non autorisée avec le code de réponse 401 est envoyée au client. Avec cette mise à jour, si nous faisons des demandes à la section Admin du site, la sortie sera la suivante: Commencer avec Connect

Conclusions

Dans cet article, nous avons approfondi les caractéristiques d'un petit et puissant module Node.js appelé Connect. Il peut vous aider à construire des composants middleware à gérer facilement les demandes. L'utilisation des plugins Connect et Middleware réduira vos efforts et transformera votre application dans un projet plus structuré et utilisable. Et toi? L'avez-vous déjà essayé? Commençons une discussion.

Questions fréquemment posées (FAQ) sur la connexion

Quel est le but principal de la connexion dans Node.js?

Connect est un middleware framework pour node.js. Il s'agit d'un outil simple, flexible et puissant qui fournit une collection de plugins de haut niveau appelés middleware. Ces composants middleware effectuent diverses tâches telles que la journalisation, le service de fichiers statiques et la gestion des sessions. Connect agit essentiellement comme un pipeline qui traite les demandes et les réponses HTTP. Il permet aux développeurs d'ajouter des fonctionnalités supplémentaires à leur serveur en branchant différents composants de middleware.

En quoi la connexion diffère-t-elle de l'express.js?

Alors que les deux connects et express.js sont-ils des frameworks middleware pour noeud .js, express.js est construit au-dessus de la connexion. Cela signifie que Express.js comprend toutes les fonctionnalités de Connect, ainsi que des fonctionnalités supplémentaires. Express.js fournit un ensemble de fonctionnalités plus robuste pour les applications Web et mobiles, y compris les moteurs de modèle, un routage multiple simplifié et une interface middleware.

Comment installer Connect?

Pour installer Connect, Vous devez que Node.js et NPM (Node Package Manager) soient installés sur votre système. Une fois que vous en avez, vous pouvez installer Connect en exécutant la commande suivante dans votre terminal: NPM Installer Connect.

Comment utiliser Middleware dans Connect?

Le middleware dans Connect est utilisé en appelant le Méthode use () sur une application Connect. La méthode use () prend une fonction middleware comme un argument. Cette fonction middleware est ensuite ajoutée à la pile de middleware de Connect et sera exécutée dans l'ordre, il a été ajouté chaque fois qu'une demande est faite au serveur.

Puis-je créer mon propre middleware dans Connect?

Oui, vous pouvez créer votre propre middleware dans Connect. Un middleware est simplement une fonction qui a accès à l'objet de demande, à l'objet de réponse et à la fonction middleware suivante dans le cycle de demande de demande de l'application. Cette fonction peut effectuer des opérations sur les objets de demande et de réponse, puis appeler la fonction middleware suivante dans la pile.

Quel est le rôle de la fonction suivante () dans Connect Middleware?

La fonction suivante () est une fonction dans le middleware de connexion qui, une fois appelé, passe le contrôle à la fonction middleware suivante dans la pile. Si une fonction middleware n'appelle pas ensuite () à l'intérieur, le cycle de demande-réponse sera interrompu. Il ne procédera à d'autres gestionnaires de middleware ou d'itinéraire.

Comment puis-je gérer les erreurs dans Connect?

Connect fournit une fonction middleware intégrée pour la gestion des erreurs. Cette fonction middleware prend quatre arguments au lieu des trois habituels: (err, req, res, ensuite). Lorsque vous appelez la fonction suivante () avec un argument d'erreur, Connect ignorera tous les middleware restants dans la pile et passera à cette erreur de gestion du middleware.

Puis-je utiliser Connect avec d'autres frameworks Node.js?

Oui, Connect est conçu pour fonctionner de manière transparente avec la plupart des frameworks Web Node.js. En fait, de nombreux frameworks populaires comme Express.js sont construits au-dessus de Connect. Cela signifie que vous pouvez utiliser Connect Middleware dans ces frameworks.

Comment puis-je servir des fichiers statiques à l'aide de Connect?

Connect Fournit une fonction middleware intégrée pour servir des fichiers statiques. Vous pouvez utiliser cette fonction middleware pour servir les fichiers à partir d'un répertoire spécifié. Par exemple, pour servir des fichiers statiques à partir d'un répertoire nommé «public», vous utiliseriez le code suivant: app.use (connect.static ('public')).

est toujours maintenu et mis à jour?

Au moment de la rédaction, la connexion n'est pas activement maintenue et mise à jour. La dernière mise à jour a été faite il y a plusieurs années. Cependant, il est encore largement utilisé et sa fonctionnalité est stable. Pour un cadre middleware plus entretenu, vous pourriez envisager d'utiliser Express.js, qui est construit au-dessus de la connexion et comprend des fonctionnalités supplémentaires.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn