web-dev-qa-db-fra.com

Différence entre un serveur avec http.createServer et un serveur utilisant express dans le noeud js

Quelle est la différence entre la création d'un serveur à l'aide du module http et la création d'un serveur à l'aide du framework express dans le nœud js? Merci.

21
Koushik Das

En fin de compte, express utilise les nœuds http api dans les coulisses.

cadre express

Le framework express fournit une couche d'abstraction au-dessus du module http Vanilla pour faciliter un peu la gestion du trafic Web et des API. Il existe également des tonnes de middleware disponibles pour les frameworks express (et similaires) pour effectuer des tâches courantes telles que: CORS, XSRF, POST, cookies, etc.

http api

L'API http est très simple et sert à configurer et gérer les connexions HTTP entrantes/sortantes. Node fait la plupart du travail lourd ici mais il fournit des choses que vous verrez généralement dans la plupart des frameworks web de nœuds tels que: request /- response objets etc.

21
Sean3z

Express utilise le module http sous le capot, app.listen() renvoie une instance de http. Vous utiliseriez https.createServer si vous devez diffuser votre application via HTTPS, comme app.listen utilise uniquement le module http.

Voici le source pour app.listen pour que vous puissiez voir les similitudes .:

app.listen = function(){
  var server = http.createServer(this);
  return server.listen.apply(server, arguments);
};
16
Ashley B