Ich habe ein Projekt von einem anderen Entwickler aufgenommen, verwendet den typischen MEAN-Stack mit dem Einstiegspunkt server.js.NODE JS APP: Was bedeutet diese Notation?
nun in server.js, das Modul, das tut:
var express = require('express');
var app = express();
var passport = require('passport');
Es gibt noch 2 Zeilen Code, die aussehen wie sie irgendeine Art von Routing tun, aber ich kann nicht herausfinden, was es tatsächlich bedeutet: aus dem globalen Bereich
require('./routes.js')(app, passport);
require('./apiRequest/authenticate')(app, passport);
ich bin verwirrt, weil es wie require()
sieht genannt wird, während alle anderen Routing-Methoden App abgeblasen werden, dh app.use()
. Kann jemand erklären, was die Parametersätze bedeuten, und warum gibt es auch zwei Sätze, wo require()
aufgerufen wird, wird es von Express zur Verfügung gestellt?
Okay, bedeutet das in Punkt 3, ** diese Funktion wird mit den bereitgestellten Parametern ** aufgerufen, dass es eine beliebige Anzahl von Parametern geben kann? oder kann es nur 2 geben, und was ist die eigentliche Funktion, für die diese die Parameter sind, ist es "require()"? –
Die Funktion ist diejenige, die in der 'routes.js'-Datei definiert ist (die eine Projektdatei im selben Ordner wie die Datei sein sollte, in der der Code steht) - es wird eine Funktion definiert, die exportiert wird, und das ist es Funktion, die hier aufgerufen wird. Die Anzahl der erwarteten Parameter kann nur angezeigt werden, wenn Sie sich diese Datei ansehen, da sie davon abhängt, wie viel die exportierte Funktion erwartet und was sie damit macht. Beachten Sie, dass in JS-Funktionen keine statische Anzahl erforderlicher Parameter vorhanden ist, es ist im Allgemeinen konventionsbasiert, wie viele zu liefern sind, welche optional sind usw. –
Oh natürlich! Ja, das macht wirklich klar, mein Freund, Kumpel! –