Maison >interface Web >js tutoriel >Commencer avec Connect
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.
$ npm initEt 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
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 serverSi nous dirigeons notre navigateur vers LocalHost: 3031, nous devrions être en mesure de voir la sortie comme suit:
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:
$ 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:
<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 initDans 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:
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.
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.
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.
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.
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.
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.
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.
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.
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')).
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!