Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Node.js für ASP.NET-Entwickler

Module erzeugen und verwenden

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
In diesem Video wird Ihnen das Veröffentlichen eines eigenen Moduls und – in weiterer Folge – seine Verwendung veranschaulicht. Auch bei diesen Arbeitsschritten gilt es, einige Regeln zu beachten.

Transkript

Sehen wir uns doch mal gemeinsam in diesem Video an, wie wir ein Modul erzeugen und auch verwenden können und dann lernen wir dazu eben noch mal genauer die Regeln, wie das Ganze mit CommomJS and Node.js genauer funktioniert. Einmal brauchen wir eine App.js-Datei, also, das ist unsere JavaScript-Datei, die hauptsächlich vom Server ausgeführt wird, und anschließend brauchen wir zum Beispiel eine foo.js-Datei. Das heißt, das ist jetzt unsere ausgelagerte JavaScript-Datei, die als eigenständiges Modul verwendet werden soll, und da haben wir zum Beispiel dann die Funktion "function: sayHello", dann kommt hier Name durch "console.log" und dann "Hello name". Okay, das heißt dieser Name wird ausgegeben. Das ist jetzt unsere eigenständige JavaScript-Datei mit ihrer eigenen Logik und die möchte man jetzt natürlich nach außen hin zur Verfügung stellen und das wird immer über "modul exports" ermöglicht. Ist gleich "sayHello" zum Beispiel, das heißt, wir sagen die sayHello-Funktion soll einmal öffentlich bereit gestellt werden. Ich könnte das hier natürlich auch gleich hier oben mitdeklarieren. Häufiger macht man das einfach nochmal am Schluss, dass man dann diese Funktion nach außen hin mitgibt. Und das war schon, dass diese Funktion dann hier über dieses Modul nach außen hin verwendet werden kann. Jetzt wechseln wir zu der App.js und jetzt möchten wir mittels "using", also hier in dem Fall "require" das Ganze laden und zwar in "foo", in die Variable "foo". Also der Name kann hier x-beliebig sein, muss nicht "foo" unbedigt lauten, ja, das ist also ganz wichtig und dann haben wir unser "require", was unserem "using" eben entspricht und wenn ich jetzt einfach nur zum Beispiel "foo" schreiben würde, würde Node.js mit CommonJS erst mal innerhalb von node_moduls-Verzeichnis nachsehen, ob da irgendwas installiert wurde oder ob er irgendwo ob Quo-Module installiert hat mit diesen Namen. Er würde in dem Fall ja da nichts finden und dann bekommen wir eine Fehlermeldung. In dem Fall muss man hier explizit sagen mit "./" er soll bitte hier die foo.js-Datei nehmen. Ich könnte jetzt ".js" auch dazu schreiben. Das wäre auch möglich, aber es hat sich eben oft durchgesetzt, dass man es einfach weglässt, was funktionierte ebenfalls. Und wenn ich jetzt "foo" direkt schreibe, dann kann ich schon auf die Funktion zugreifen, das heißt "foo" ist selber ja dann die Funktion, das heißt ich gebe jetzt hier kein "sayHello" mit, das ist ganz wichtig, und dann kann ich jetzt hier zum Beispiel meinen Namen schreiben, und wenn ich jetzt das speichere mit Steuerung S und dann f5 drücke, will natürlich Visual Studio Code erstmal eine Konfiguration. Da wählen wir Node.js aus. Er hat automatisch ja App.js schon eingetragen, das heißt eigentlich, alle Einstellungen passen, "default", und wenn ich jetzt noch mal f5 drücke, dann wird das Ganze jetzt einmal in Node.js ausgeführt im Debugmodus. Und wir sehen auch wunderbar Hello Gregor. Möchte man das Ganze natürlich ändern, und man möchte hier eine eigene Funktion mit "sayHello", dann kann man einfach x-beliebig einen Namen dazu schreiben. In dem Fall hier "sayHello" oder machen wir es etwas anders. Wir nennen es nur "say" und somit können wir nicht mehr bei "foo" direkt das Ganze so aufrufen, nur noch mit zusätzlichen say-Funktionsnamen. Wenn ich das Ganze jetzt speichere, und mit f5 ausführe, dann sehen wir auch wieder Hello Gregor. Jetzt ist es so, dass man natürlich diese eine Datei hat, aber wie funktioniert später so Nodemodule? Man gibt ja am Ende auch nie wirklich den Dateinamen an, sondern immer den Verzeichnisnamen eines Moduls. Das bedeutet, wenn wir zum Beispiel ein Vezeichnis hätten, "New Folder", und das nennen wir jetzt zum Beispiel "fooSample", und dieses Verzeichnis füge ich jetzt meiner foo-Datei ein, dann müsste ich jetzt hier zusätzlich "fooSample/foo" schreiben. Ich speichere das nur mal aus, dass Sie sehen, dass es klappt. Zack, wir sehen natürlich, dass es funktioniert hat. Aber das ist unschön, und zwar sollte die Node-Module auch ganz anders arbeiten, und zwar lassen wir einfach das "foo" hier am Ende weg, auch den Slash entfernen wir wieder, und benennen einfach diese Datei in eine index.js-Datei um. Und die wird natürlich dann automatisch ausgeführt, wenn wir nur auf ein Verzeichnis referenzieren. Statisch das Ganze wieder mit f5. Zack, sehen wir wieder, es hat auch funktioniert. Wir sehen wieder Hello Gregor. Das ist also der ganze Trick. Wenn man später mit dem Node Package Manager arbeitet, dann hat man dann automatisch bei installierten Modulen aus den Node Package Manager ein node_moduls-Verzeichnis. Jetzt verschiebe ich dieses "fooSample" hier in diesen Ordner, und jetzt kann ich einfach dieses Punkt-Slash-Zeichen entfernen. Ich speichere das Ganze, ich drücke f5 und wir sehen, es wird automatisch eben jetzt in dem Nodemodul-Ordner nach unserem Verzeichnis "fooSample" gesucht. Wir haben in den "fooSample" jetzt eine Index js., und somit kann das alles sauber geladen werden. Jetzt sollte man das, was ich jetzt so manuell gemacht habe, aber nicht machen. Das heißt man sollte höchstens in einem eigenen Webprojekt das Ganze bei dem Node Package Manager veröffentlichen oder auch lokal, irgendwo auf einem Firmenverzeichnis, Firmenserver bereitstellen, und damit den NPM- Paketmanager installieren. Das ist hier was in diesem Verzeichnis liegt. Niemals manuell wirklich unter diesem Ordner die Dateien so einbinden, wie ich es hier gerade demonstriert habe, weil das aus Architektursicht später zum Chaos führt, und nicht weiter hilft. Außerdem werden hier später extrem viele Untermodule mitinstalliert, und dann verliert man ziemlich schnell den Überblick es ist sonst nicht ratsam. Ich habe das Ganze natürlich jetzt hier so einmal gezeigt, damit Ihnen das Verständnis, wie hier eben CommonJS. arbeitet besser verdeutlicht wird. Anschließend möchte ich noch demonstrieren, dass hier, wenn mittels "require" ein Modul geladen wird, das wirklich statisch in System gehalten wird und zwar schreiben wir doch mal was in die "index.js", die verändert wird. In dem Fall man gibt hier den Namen durch, dann soll das gemerkt werden und zwar erzeugen wir hier eine neue Variable mit x, und wenn der Name definiert wird, "this.x = name". Dann soll automatisch das Ganze gespeichert werden. Wenn ich jetzt sage unter "function" "sayVariable", dann soll er natürlich das auslesen. "console.log(x)", "(this.x)", Alt + Shift, und die Pfeiltaste nach unten, dann kann ich diese Zeile duplizieren, und dann mache ich hier "sayVariable", hier "sayVariable", und hier verändern wir sozusagen die Variable in Gregor oder machen wir mal was anderes, ist dann Erich. Wenn ich jetzt hier "bar =require" nochmal "fooSample" aufrufe, Also das könnte natürlich auch in einer ganz anderen JavaScript-Datei passieren, und dann hier zum Beispiel sage "sayVariable", dann bekommen wir exakt den Erich einmal auch angezeigt. Wenn ich jetzt nochmal das speichere mit Steuerung S und ausführe, dann sehen wir Hello Erich und am Ende Erich. Das heißt, obwohl ich dieses Modul neulade in eine neue Variable, es ist aber exakt einmalig mit dem CommonJS Service im Hintergrund statisch geladen worden. Wir haben in diesem Video gesehen, wie man ein Modul öffentlich stellt, wie man dann das Modul verwenden kann, und welche Regeln es so zu berücksichtigen gibt unter CommonJS.

Node.js für ASP.NET-Entwickler

Sehen Sie, wie Sie den Umstieg auf auf native JavaScript-Entiwcklung mit Node.js erfolgreich meistern.

2 Std. 52 min (31 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:15.05.2017

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!