‫Kursleiter: Was ich Ihnen
‫in diesem letzten Video über das Projekt
‫zeigen wollte, ist, dass wir tatsächlich unser eigenes Modul
‫erstellen und etwas daraus exportieren können, wie zum Beispiel eine Funktion.
‫Importieren Sie diese Funktion dann in ein anderes Modul und
‫verwenden Sie diese Funktion dort.
‫Okay, und das werden wir in diesem Vortrag tun.
‫Nehmen wir also an, wir hätten
‫tatsächlich eine Reihe verschiedener JavaScript-Dateien,
‫in denen wir diese Funktion zum Ersetzen von Vorlagen verwendet haben.
‫Im Moment verwenden wir es also nur hier im Index. js.
‫Wir verwenden es zweimal und deshalb haben wir eine Funktion, aber stellen
‫Sie sich vor, wir möchten
‫diese Funktion in mehreren Dateien verwenden.
‫Okay, wir können also ein neues Modul erstellen und
‫diese Funktion daraus
‫exportieren und dann wieder hier importieren.
‫Das erste, was Sie wissen
‫müssen, ist, dass
‫in Nodejs tatsächlich jede einzelne Datei als Modul behandelt wird.
‫Und so dieser Index. js ist hier eigentlich auch
‫ein Modul, das in diesem Fall
‫andere Module und insbesondere diese drei importiert.
‫Lassen Sie uns jetzt hier einen neuen Ordner
‫erstellen, den ich Module nenne,
‫und dann
‫hier drinnen eine Datei erstellen, die
‫unser Modul namens replaceTemplate sein wird. js.
‫Okay, also greifen wir hier zu unserer Funktion.
‫Schneiden Sie es hier aus
‫und fügen Sie es einfach hier ein.
‫Alles klar, wie exportieren wir diese Funktion nun eigentlich
‫aus diesem Modul?
‫Nun, es gibt verschiedene Möglichkeiten, etwas aus
‫einem Modul
‫zu exportieren, und wir werden
‫später in einem anderen Abschnitt ausführlich darüber sprechen.
‫Aber im
‫Moment verwenden wir nur das Modul. Export.
‫In jedem
‫Modul haben wir also Zugriff auf eine Variable namens module
‫und können dort die Eigenschaft des Exports festlegen.
‫Und das setzen wir dann auf das, was wir exportieren wollen.
‫In diesem Fall ist das nur diese Funktion.
‫Also werden wir
‫diesen Namen
‫loswerden und im Grunde ordnen wir dieser Export-Eigenschaft auf dem Modul
‫einfach diese anonyme Funktion zu.
‫Ich sagte anonym,
‫weil diese Funktion im Moment keinen Namen hat.
‫Es ist also
‫nur eine anonyme Funktion, die dieser
‫Exporteigenschaft des Modulobjekts zugewiesen wird.
‫Auch dies ist ein Objekt, auf
‫das wir in jedem einzelnen Nodejs-Modul Zugriff haben.
‫Und wie das hinter
‫den Kulissen
‫tatsächlich passiert, erfahren Sie später noch einmal.
‫Aber für
‫den Moment verwenden wir es
‫einfach und machen uns keine Sorgen darüber, warum es so funktioniert.
‫Dies exportiert also diese Funktion aus dem Modul.
‫Gehen wir einfach zum Index. js und importieren Sie es.
‫Und Importe erfolgen normalerweise immer am Anfang der Datei
‫und nach den Kernmodulen.
‫Zuerst haben wir die
‫Kernmodule und dann unsere eigenen Module.
‫Wir werden es benötigen und dann unser eigenes Modul, das
‫ist dot ...
‫Und denken Sie daran,
‫dass in der Anforderungsfunktion der Punkt tatsächlich den aktuellen Standort dieses Moduls bedeutet.
‫Denken Sie also daran, als wir hier über die Variable
‫dir name gesprochen haben, die normalerweise auf den Ordner des Moduls verweist.
‫Aber denken Sie in diesem Fall in der
‫require-Funktion daran, dass es eine
‫Ausnahme gibt, bei der dieser Punkt tatsächlich auf die Position
‫zeigt, an der sich dieses Modul befindet.
‫Und das
‫ist im Moment dieser Stammordner hier.
‫Von hier aus gehen wir also
‫zu Modulen und dort haben wir replaceTemplate.
‫Und
‫wie bei den anderen Modulen brauchen
‫wir die . js.
‫Das wird jetzt zurückgeben, was wir hier mit Modul
‫exportiert haben. Exporte.
‫Was wir hier haben, dieser
‫Code, diese Funktion, wird aus diesem Anforderungsfunktionsaufruf exportiert.
‫Und so können wir das jetzt in einer beliebigen
‫Variablen speichern und ihr einen gewünschten Namen geben.
‫Wir könnten es also einfach X nennen, wenn wir
‫wollten oder wirklich wie immer wir wollten.
‫Aber stattdessen gebe ich ihm nur diesen Namen, den
‫wir hier schon
‫hatten, damit ich meinen Code hier nicht ändern muss.
‫Also replaceTemplate ist der Name, den ich
‫dieser Variable geben möchte, die jetzt
‫diese Funktion ist.
‫Und so haben
‫wir etwas aus einem Modul exportiert
‫und in ein anderes importiert.
‫Wenn wir unseren Server jetzt neu
‫starten, sollte alles noch funktionieren.
‫Aber das tut es tatsächlich nicht.
‫Wir haben hier einen Fehler.
‫Und es sagt, es kann das Modul nicht finden.
‫Und das liegt daran, dass ich dumm genug war, diesen
‫Ordner hier Module zu nennen. js.
‫Das tut mir leid.
‫Dieser
‫soll natürlich nur Module heißen.
‫Und deshalb gab es mir hier nicht die automatische Vervollständigung.
‫Ich habe mich gefragt, warum das so ist.
‫Und jetzt wissen wir es.
‫Wenn es bei Ihnen
‫nicht funktioniert, ändern Sie einfach
‫den Namen dieses Ordners hier und dann sollte alles passen und funktionieren, wie es sollte.
‫Lass uns neu laden und es ersetzt immer noch alles wie es sollte.
‫Hier natürlich das gleiche.
‫Und so ja, wir sind jetzt mit diesem Projekt fertig.
‫Gratulation gut gemacht.
‫Sie sind auf einem guten Weg, Nodejs zu lernen.
‫Im Rest des Abschnitts
‫werden wir
‫nun ein wenig über den Knotenpaketmanager oder npm sprechen.
‫Also werden wir ein bisschen
‫an diesem Projekt
‫weiterarbeiten, aber keine wirklichen Funktionen hinzufügen.
‫Wie auch immer, wir sehen uns im nächsten Video,
‫in dem wir über npm sprechen werden.