Vorwort
Wenn wir NodeJs nicht lernen, werden wir alt ... Als die HTML5-Welle kam, begannen viele Vorfahren die Reise von NodeJs, und zu dieser Zeit arbeitete ich noch an serverseitigen Programmen
Später bin ich zum Front-End gewechselt und der Abstand zwischen mir und der Staffel ist bereits sehr groß. Da ich serverseitige Sprachen kenne und schon lange arbeite, habe ich erst begonnen, NodeJs zu lernen und mich darauf zu konzentrieren ein komplettes Frontend
Der Plan, NodeJs dieses Mal zu lernen, lautet:
① 1-2 Wochen zum Erlernen der Grundkenntnisse
② Entwickeln Sie in etwa einer Woche ein einfaches Projekt
③ Verwenden Sie NodeJs, um eine Reihe von Tools für das mobile Debuggen zu entwickeln
④ Verpackungsbezogen (dies kann etwas weit weg sein)
NodeJs-Funktionen
① Asynchron
Vom Lesen von Dateien bis hin zu Netzwerkanforderungen wird NodeJs asynchron ausgeführt, und Rückruffunktionen spielen eine wichtige Rolle in Bezug auf das Programmiermodell
② Ereignisrückruf
Ereignisrückrufe machen Programme leichtgewichtig, die Details bleiben jedoch dem Programmierer überlassen. Allerdings ist die Rückruffunktion tatsächlich ziemlich schwer zu lesen
③ Einzelner Thread
Wenn es sich um einen Single-Thread-Knoten handelt, wäre die Sprache zu tiefgreifend. Es wäre ärgerlich, nach der In-Process-Kommunikation zu fragen, aber es gibt keine Deadlocks oder andere Probleme mit Threads
Es gibt jedoch ein Leistungsproblem, da Multi-Core nicht verwendet werden kann
Modulmechanismus/CommonJs
Früher führten wir eine serverseitige Entwicklung durch. Wenn der Code nicht gut organisiert ist, wird die spätere Wartung sehr schwierig sein, daher gibt es MVC und eine dreistufige Architektur
Jetzt rückt die Front-End-Geschäftslogik allmählich näher an das Back-End heran und hat die Back-End-Programmlogik überholt
Die kontinuierliche Zunahme der Seitenaufrufe wird zu einem Anstieg der Menge an js-Code führen. Die gute Verwaltung unseres Front-End-Codes ist zu einem Problem geworden, daher sind requireJs aufgetaucht ...
PS: Dieser Absatz hat nichts mit nodeJs zu tun...
JavaScript verfügt nicht über ein modulares System, daher wurde CommonJs vorgeschlagen, um js die Grundlage für die Entwicklung umfangreicher Anwendungen zu geben
Modulreferenz
Wenn wir auf ein Modul verweisen möchten, beispielsweise auf mathematische Berechnungen:var math = require('math');
Moduldefinition
Wenn wir unser eigenes Modul definieren möchten, können wir dies tun
Rückgabesumme;
}
math.add();
Modul-ID
Der Modulbezeichner ist der an require übergebene Parameter. Er muss in Kamel-Schreibweise benannt werden und verweist auf einen Dateipfad. Dies ist sehr ähnlich zu requireJS ModulimplementierungDie Modulimplementierung in Node ist in zwei Kategorien unterteilt, eine ist das Kernmodul auf Systemebene und die andere ist das vom Benutzer geschriebene Dateimodul
Die Kernmodule werden während des Kompilierungsprozesses in Binärdateien übersetzt. Nach dem Start des Node-Prozesses werden einige Kernmodule direkt in den Speicher geladen (Dateipositionierung, Kompilierung und Ausführung)
Das Dateimodul muss dynamisch geladen werden, was relativ langsam ist
Aber sobald sie geladen sind, werden diese Dateien zwischengespeichert und die zwischengespeicherten Dateien (kompilierte Dateien) werden gelesen, wenn sie erneut eingeführt werden
Gehen wir hier noch etwas weiter. Wenn wir den Unterstrich verwenden, kompilieren wir HTML, um eine Vorlagenfunktion zu bilden (es ist eigentlich nur eine Funktion, die zum Caching verwendet werden kann).
Speichern Sie die kompilierte Funktion, bevor Sie das Projekt bereitstellen, und entfernen Sie die HTML-Vorlagendatei (der Optimierungseffekt ist unbekannt)
Im Knoten ist jedes Modul ein Objekt:
//parent ist ein Schlüsselwort und sollte nicht wahllos verwendet werden
this.parent = parent;
if (parent && parent.children) {
parent.children.push(this);
}
this.filename = null;
this.loaded = false;
this.children = [];
}
Die letzte Phase der Einführung von Dateimodulen während der Kompilierung und Ausführung. Nach dem Auffinden der spezifischen Datei erstellt der Knoten ein neues Modulobjekt, lädt es und kompiliert es entsprechend dem Pfad
Jede Moduldatei verfügt über drei Variablen: require, exports und module, diese sind jedoch nicht in der Datei definiert (dasselbe gilt für die Variablen __filename__ und __dirname__)
Tatsächlich umschließt Node während des Kompilierungsprozesses den Kopf und das Ende der Javascript-Datei (entspricht der Übergabe der benutzerdefinierten Funktion an das Fenster)
(function (exports, require, module, __filename__, __dirname__) {
var math = require('math');
exports.area = Funktion (Radius) {
Rückgabe '';
};
});
Auf diese Weise sind die Module isoliert und beeinflussen sich nicht gegenseitig. Dies ähnelt in gewisser Weise der Zusammenstellung von Unterstrichen...
Pakete und NPM
Der Knoten organisiert seine eigenen Kernmodule, sodass Dateimodule von Drittanbietern ordnungsgemäß geschrieben und verwendet werden können. In Modulen von Drittanbietern werden die Module jedoch weiterhin an verschiedenen Stellen gehasht
Sie können nicht direkt aufeinander verweisen. Modul-Outsourcing und NPM sind ein Mechanismus, um Verbindungen herzustellen
PS: Viele Module bilden ein Paket. Das Konzept dieses Pakets ähnelt dem Konzept des Java-Pakets, daher sollte das Konzept von #assembly ähnlich sein
Nach dem Dekomprimieren einer Paketstruktur werden mehrere Dateien erstellt:
① package.json-Beschreibungsdatei
② bin ausführbares Binärverzeichnis
③ lib Javascript-Codeverzeichnis
④ Dokumentdokument (fast keines)
⑤ Testdemo
Das Obige sind einige der Spezifikationen von CommonJS-Paketen, aber wir müssen es nur ein wenig verstehen (für Anfänger muss NPM beherrscht werden, um Verwaltungspakete geschickt zu installieren).
Abhängigkeitspakete installieren
npm install express
Nach der Ausführung wird das Verzeichnis node_modules im aktuellen Verzeichnis erstellt und anschließend das Express-Verzeichnis darunter erstellt ...
PS: Express ist ein beliebtes Webentwicklungs-Framework auf NodeJs, das uns hilft, schnell eine Webanwendung zu entwickeln
Nach Abschluss der Installation kann es aufgerufen werden:
Fazit
Dieser Abschnitt endet kurz und unser eigentlicher Projektprozess wird später schrittweise vertieft
Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

JavaScript ist die Kernsprache der modernen Webentwicklung und wird für seine Vielfalt und Flexibilität häufig verwendet. 1) Front-End-Entwicklung: Erstellen Sie dynamische Webseiten und einseitige Anwendungen durch DOM-Operationen und moderne Rahmenbedingungen (wie React, Vue.js, Angular). 2) Serverseitige Entwicklung: Node.js verwendet ein nicht blockierendes E/A-Modell, um hohe Parallelitäts- und Echtzeitanwendungen zu verarbeiten. 3) Entwicklung von Mobil- und Desktop-Anwendungen: Die plattformübergreifende Entwicklung wird durch reaktnative und elektronen zur Verbesserung der Entwicklungseffizienz realisiert.

Zu den neuesten Trends im JavaScript gehören der Aufstieg von Typenkripten, die Popularität moderner Frameworks und Bibliotheken und die Anwendung der WebAssembly. Zukunftsaussichten umfassen leistungsfähigere Typsysteme, die Entwicklung des serverseitigen JavaScript, die Erweiterung der künstlichen Intelligenz und des maschinellen Lernens sowie das Potenzial von IoT und Edge Computing.

JavaScript ist der Eckpfeiler der modernen Webentwicklung. Zu den Hauptfunktionen gehören eine ereignisorientierte Programmierung, die Erzeugung der dynamischen Inhalte und die asynchrone Programmierung. 1) Ereignisgesteuerte Programmierung ermöglicht es Webseiten, sich dynamisch entsprechend den Benutzeroperationen zu ändern. 2) Die dynamische Inhaltsgenerierung ermöglicht die Anpassung der Seiteninhalte gemäß den Bedingungen. 3) Asynchrone Programmierung stellt sicher, dass die Benutzeroberfläche nicht blockiert ist. JavaScript wird häufig in der Webinteraktion, der einseitigen Anwendung und der serverseitigen Entwicklung verwendet, wodurch die Flexibilität der Benutzererfahrung und die plattformübergreifende Entwicklung erheblich verbessert wird.

Python eignet sich besser für Datenwissenschaft und maschinelles Lernen, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python ist bekannt für seine prägnante Syntax- und Rich -Bibliotheks -Ökosystems und ist für die Datenanalyse und die Webentwicklung geeignet. 2. JavaScript ist der Kern der Front-End-Entwicklung. Node.js unterstützt die serverseitige Programmierung und eignet sich für die Entwicklung der Vollstapel.

JavaScript erfordert keine Installation, da es bereits in moderne Browser integriert ist. Sie benötigen nur einen Texteditor und einen Browser, um loszulegen. 1) Führen Sie sie in der Browser -Umgebung durch, indem Sie die HTML -Datei durch Tags einbetten. 2) Führen Sie die JavaScript -Datei nach dem Herunterladen und Installieren von node.js nach dem Herunterladen und Installieren der Befehlszeile aus.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

Sicherer Prüfungsbrowser
Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.