it-swarm.com.de

Was macht Express.js im MEAN-Stack?

Ich bin kürzlich in AngularJS eingestiegen und ich liebe es. Für ein bevorstehendes Projekt möchte ich den MEAN-Stack (MongoDB, Express, Angular, Node) verwenden. Ich bin mit Angular ziemlich vertraut und verstehe die Ziele von MongoDB und Node im Stack nur wenig. Ich verstehe jedoch nicht wirklich, was der Zweck von Express.js ist. Ist es wichtig für den MEAN-Stack? Was würden Sie mit einer traditionellen MySQL-, PHP- und Javascript-App vergleichen? Was können die anderen drei Komponenten nicht?

Wenn jemand seine eigene Meinung darüber geben will, wie die vier Teile des Stapels zusammenarbeiten, wäre das großartig.

50
NicolasMoise
  • MongoDB = Datenbank 
  • Express.js = Back-End-Webframework
  • Angular = Frontend-Rahmen
  • Knoten = Back-End-Plattform/Web-Framework

Grundsätzlich bietet Express die Möglichkeit, auf einfache Weise Webanwendungen zu erstellen, indem eine etwas einfachere Benutzeroberfläche zum Erstellen von Anforderungsendpunkten, zum Umgang mit Cookies usw. als für Vanilla Node bereitgestellt wird. Sie könnten es aus der Gleichung herausnehmen, aber dann müssten Sie Ihre Webanwendung noch weiter bearbeiten. Der Knoten selbst könnte alles tun, was express tut (express ist mit node implementiert), aber express packt es einfach in ein besseres Paket.

Ich würde Express mit irgendeinem PHP Web-Framework in dem Stack vergleichen, den Sie beschreiben, wie slim .

60
jakee

Sie können sich Express als Dienstprogramm zum Erstellen von Webanwendungen mit Node.js vorstellen. Es bietet Funktionen für so ziemlich alles, was Sie zum Erstellen eines Webservers benötigen. Wenn Sie dieselbe Funktionalität mit Vanilla Node.js schreiben würden, müssten Sie erheblich mehr Code schreiben. Hier einige Beispiele für die Funktionsweise von Express:

  • REST-Routen werden mit Dingen wie Einfach gemacht.
    • app.get('/user/:id', function(req, res){ /* req.params('id') is avail */ });
  • Ein Middleware-System, mit dem Sie verschiedene synchrone Funktionen einbinden können, die mit einer Anfrage oder Antwort unterschiedliche Aufgaben ausführen, z. Authentifizierung oder Hinzufügen von Eigenschaften
    • app.use(function(req,res,next){ req.timestamp = new Date(); next(); });
  • Funktionen zum Parsen des Hauptteils von POST Anforderungen
  • Tools zur Verhinderung von Cross Site Scripting
  • Automatische HTTP-Header-Behandlung
    • app.get('/', function(req,res){ res.json({object: 'something'}); });

Im Allgemeinen ist Sinatra zu Ruby wie Express zu Node.js. Ich weiß, dass es kein PHP Beispiel ist, aber ich weiß nicht viel über PHP Frameworks.

20
Jondlm

Express verarbeitet Dinge wie Cookies, analysiert den Anfragetext, bildet die Antwort und verarbeitet Routen. 

Dies ist auch der Teil der Anwendung, der auf einen Socket wartet, um eingehende Anforderungen zu bearbeiten.

Ein einfaches Beispiel aus express github

 var express = required ('express'); 
 var app = express (); 

 app.get ('/', Funktion (req, res) {
 res.send.) ('Hallo Welt'); 
}); 
 App.listen (3000); 

Zeigt die Erstellung des Express-Servers an, erstellt eine Route app.get('/'... und öffnet den Port, um eingehende http-Anforderungen zu überwachen.

4
jeremy

Express ist ein nodejs Framework, das auf der Oberseite des HTTP-Moduls aufbaut mit benutzerfreundlicheren und besseren Funktionen wie einer einfachen Möglichkeit, Routen zu handhaben.

zB: Über HTTP

 var http = require('http');

//create a server object:
http.createServer(function (req, res) {
 res.writeHead(200, {'Content-Type': 'text/html'}); // http header

var url = req.url;
 if(url ==='/about'){
    res.write('<h1>about us page<h1>'); //write a response
    res.end(); //end the response
 }else if(url ==='/contact'){
    res.write('<h1>contact us page<h1>'); //write a response
    res.end(); //end the response
 }else{
    res.write('<h1>Hello World!<h1>'); //write a response
    res.end(); //end the response
 }

}).listen(3000, function(){
 console.log("server start at port 3000"); //the server object listens on port 3000
});

mit Express:

var express = require('express');
var app = express();
app.get('/about',function(req,res)=>{
res.write('<h1>about us page<h1>'); //write a response
res.end();
})
1
Y Munawwer

Mit Express können Sie die http-Anfrage einfach verwalten, verglichen mit Vanilla js .

const Http = new XMLHttpRequest();
const url='https://jsonplaceholder.typicode.com/posts';
Http.open("GET", url);
Http.send();
Http.onreadystatechange=(e)=>{
console.log(Http.responseText)
}

In der Regel benötigen Sie Express und verwenden Sie es und stellen Sie HTTP-Anfragen

const express = require("express")
const app  =express();
app.get("url",callback function);
0
Sai anurag

Express in einem auf Node.js basierenden Framework, das das Schreiben von serverseitigem Code und Logik vereinfacht. 

Fügt viele nützliche Funktionen hinzu, bietet zusätzliche Funktionen und macht es im Allgemeinen einfacher.

Express ist Middleware-basiert : Im Wesentlichen werden eingehende Anforderungen durch eine Kette von Middlewares (von Schritten) geleitet, in denen wir etwas mit der Anfrage tun können, einige Daten daraus lesen, bearbeiten, prüfen, ob der Benutzer authentifiziert ist oder grundsätzlich Senden Sie sofort eine Antwort.

Diese Middlewares-Kette ermöglicht es uns, sehr strukturierten Code zu schreiben 

0
Mile Mijatovic