Heim Web-Frontend js-Tutorial Erste Schritte mit nodejs Tutorial_node.js

Erste Schritte mit nodejs Tutorial_node.js

May 16, 2016 pm 04:30 PM
nodejs 入门

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

Code kopieren Der Code lautet wie folgt:
exports.add = function () {
Rückgabesumme;
}

Wenn diese Funktion in der Mathematik definiert ist, kann sie verwendet werden

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

Modulimplementierung

Die 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:

Code kopieren Der Code lautet wie folgt: Funktionsmodul (ID, übergeordnetes Element) {
this.id = id;
this.exports = {};
//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
Jedes erfolgreich kompilierte Modul speichert seinen Dateipfad als Index auf Module._cache

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)


Code kopieren Der Code lautet wie folgt:

(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

Das Installieren von Abhängigkeitspaketen ist eine gängige Methode:

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:

Code kopieren Der Code lautet wie folgt:
var express = require('express');

Fazit

Dieser Abschnitt endet kurz und unser eigentlicher Projektprozess wird später schrittweise vertieft

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Generieren Sie PPT mit einem Klick! Kimi: Lassen Sie zuerst die „PPT-Wanderarbeiter' populär werden Generieren Sie PPT mit einem Klick! Kimi: Lassen Sie zuerst die „PPT-Wanderarbeiter' populär werden Aug 01, 2024 pm 03:28 PM

Kimi: In nur einem Satz, in nur zehn Sekunden ist ein PPT fertig. PPT ist so nervig! Um ein Meeting abzuhalten, benötigen Sie einen PPT; um einen wöchentlichen Bericht zu schreiben, müssen Sie einen PPT vorlegen, auch wenn Sie jemanden des Betrugs beschuldigen PPT. Das College ähnelt eher dem Studium eines PPT-Hauptfachs. Man schaut sich PPT im Unterricht an und macht PPT nach dem Unterricht. Als Dennis Austin vor 37 Jahren PPT erfand, hatte er vielleicht nicht damit gerechnet, dass PPT eines Tages so weit verbreitet sein würde. Wenn wir über unsere harte Erfahrung bei der Erstellung von PPT sprechen, treiben uns Tränen in die Augen. „Es dauerte drei Monate, ein PPT mit mehr als 20 Seiten zu erstellen, und ich habe es Dutzende Male überarbeitet. Als ich das PPT sah, musste ich mich übergeben.“ war PPT.“ Wenn Sie ein spontanes Meeting haben, sollten Sie es tun

Alle CVPR 2024-Auszeichnungen bekannt gegeben! Fast 10.000 Menschen nahmen offline an der Konferenz teil und ein chinesischer Forscher von Google gewann den Preis für den besten Beitrag Alle CVPR 2024-Auszeichnungen bekannt gegeben! Fast 10.000 Menschen nahmen offline an der Konferenz teil und ein chinesischer Forscher von Google gewann den Preis für den besten Beitrag Jun 20, 2024 pm 05:43 PM

Am frühen Morgen des 20. Juni (Pekinger Zeit) gab CVPR2024, die wichtigste internationale Computer-Vision-Konferenz in Seattle, offiziell die besten Beiträge und andere Auszeichnungen bekannt. In diesem Jahr wurden insgesamt 10 Arbeiten ausgezeichnet, darunter zwei beste Arbeiten und zwei beste studentische Arbeiten. Darüber hinaus gab es zwei Nominierungen für die beste Arbeit und vier Nominierungen für die beste studentische Arbeit. Die Top-Konferenz im Bereich Computer Vision (CV) ist die CVPR, die jedes Jahr zahlreiche Forschungseinrichtungen und Universitäten anzieht. Laut Statistik wurden in diesem Jahr insgesamt 11.532 Arbeiten eingereicht, von denen 2.719 angenommen wurden, was einer Annahmequote von 23,6 % entspricht. Laut der statistischen Analyse der CVPR2024-Daten des Georgia Institute of Technology befassen sich die meisten Arbeiten aus Sicht der Forschungsthemen mit der Bild- und Videosynthese und -generierung (Imageandvideosyn

Ist NodeJS ein Backend-Framework? Ist NodeJS ein Backend-Framework? Apr 21, 2024 am 05:09 AM

Node.js kann als Backend-Framework verwendet werden, da es Funktionen wie hohe Leistung, Skalierbarkeit, plattformübergreifende Unterstützung, ein umfangreiches Ökosystem und einfache Entwicklung bietet.

Von Bare-Metal bis hin zu einem großen Modell mit 70 Milliarden Parametern finden Sie hier ein Tutorial und gebrauchsfertige Skripte Von Bare-Metal bis hin zu einem großen Modell mit 70 Milliarden Parametern finden Sie hier ein Tutorial und gebrauchsfertige Skripte Jul 24, 2024 pm 08:13 PM

Wir wissen, dass LLM auf großen Computerclustern unter Verwendung umfangreicher Daten trainiert wird. Auf dieser Website wurden viele Methoden und Technologien vorgestellt, die den LLM-Trainingsprozess unterstützen und verbessern. Was wir heute teilen möchten, ist ein Artikel, der tief in die zugrunde liegende Technologie eintaucht und vorstellt, wie man einen Haufen „Bare-Metals“ ohne Betriebssystem in einen Computercluster für das LLM-Training verwandelt. Dieser Artikel stammt von Imbue, einem KI-Startup, das allgemeine Intelligenz durch das Verständnis der Denkweise von Maschinen erreichen möchte. Natürlich ist es kein einfacher Prozess, einen Haufen „Bare Metal“ ohne Betriebssystem in einen Computercluster für das Training von LLM zu verwandeln, aber Imbue hat schließlich erfolgreich ein LLM mit 70 Milliarden Parametern trainiert der Prozess akkumuliert

Was ist der Unterschied zwischen den Dateien npm und npm.cmd im Installationsverzeichnis von nodejs? Was ist der Unterschied zwischen den Dateien npm und npm.cmd im Installationsverzeichnis von nodejs? Apr 21, 2024 am 05:18 AM

Es gibt zwei npm-bezogene Dateien im Node.js-Installationsverzeichnis: npm und npm.cmd. Die Unterschiede sind wie folgt: unterschiedliche Erweiterungen: npm ist eine ausführbare Datei und npm.cmd ist eine Befehlsfensterverknüpfung. Windows-Benutzer: npm.cmd kann über die Eingabeaufforderung verwendet werden, npm kann nur über die Befehlszeile ausgeführt werden. Kompatibilität: npm.cmd ist spezifisch für Windows-Systeme, npm ist plattformübergreifend verfügbar. Nutzungsempfehlungen: Windows-Benutzer verwenden npm.cmd, andere Betriebssysteme verwenden npm.

Ist NodeJS eine Back-End-Entwicklungssprache? Ist NodeJS eine Back-End-Entwicklungssprache? Apr 21, 2024 am 05:09 AM

Ja, Node.js ist eine Backend-Entwicklungssprache. Es wird für die Back-End-Entwicklung verwendet, einschließlich der Handhabung serverseitiger Geschäftslogik, der Verwaltung von Datenbankverbindungen und der Bereitstellung von APIs.

KI im Einsatz |. AI hat einen Lebens-Vlog eines allein lebenden Mädchens erstellt, der innerhalb von drei Tagen Zehntausende Likes erhielt KI im Einsatz |. AI hat einen Lebens-Vlog eines allein lebenden Mädchens erstellt, der innerhalb von drei Tagen Zehntausende Likes erhielt Aug 07, 2024 pm 10:53 PM

Herausgeber des Machine Power Report: Yang Wen Die Welle der künstlichen Intelligenz, repräsentiert durch große Modelle und AIGC, hat unsere Lebens- und Arbeitsweise still und leise verändert, aber die meisten Menschen wissen immer noch nicht, wie sie sie nutzen sollen. Aus diesem Grund haben wir die Kolumne „KI im Einsatz“ ins Leben gerufen, um detailliert vorzustellen, wie KI durch intuitive, interessante und prägnante Anwendungsfälle für künstliche Intelligenz genutzt werden kann, und um das Denken aller anzuregen. Wir heißen Leser auch willkommen, innovative, praktische Anwendungsfälle einzureichen. Videolink: https://mp.weixin.qq.com/s/2hX_i7li3RqdE4u016yGhQ Vor kurzem wurde der Lebens-Vlog eines allein lebenden Mädchens auf Xiaohongshu populär. Eine Animation im Illustrationsstil, gepaart mit ein paar heilenden Worten, kann in nur wenigen Tagen leicht erlernt werden.

So verbinden Sie NodeJS mit der MySQL-Datenbank So verbinden Sie NodeJS mit der MySQL-Datenbank Apr 21, 2024 am 06:13 AM

Um eine Verbindung zu einer MySQL-Datenbank herzustellen, müssen Sie die folgenden Schritte ausführen: Installieren Sie den MySQL2-Treiber. Verwenden Sie mysql2.createConnection(), um ein Verbindungsobjekt zu erstellen, das die Hostadresse, den Port, den Benutzernamen, das Passwort und den Datenbanknamen enthält. Verwenden Sie „connection.query()“, um Abfragen durchzuführen. Verwenden Sie abschließend Connection.end(), um die Verbindung zu beenden.

See all articles