


Erstellen Sie eine Node.JS-Betriebene-Chatroom-Web-App: Chatroom UI mit Bootstrap
Key Takeaways
- Dieses Tutorial zeigt, wie eine Chatroom-Benutzeroberfläche mit Bootstrap in einer node.js-betriebenen Web-App erstellt wird, mit Schwerpunkt auf dem Erstellen eines reaktionsschnellen Designs, das sich an verschiedene Geräte anpasst.
- Der Prozess beinhaltet das Hinzufügen von Bootstrap zum Projekt, das Erstellen des Chat -UI -Layouts und das Hinzufügen von CSS, um den Bearbeitungsbereich der Nachrichten auf den unteren Rand des Ansichtsfensters zu zwingen.
- Das Tutorial beschreibt spezifische Schritte, um Bootstrap in das Projekt einzubeziehen, einschließlich der Änderung der Layout.jade -Datei, um Bootstrap -CSS -Dateilinks und JavaScript -Dateien einzuschließen.
- Das Chat -UI -Layout wird mit dem Bootstrap -Gittersystem erstellt, und benutzerdefinierte CSS -Regeln werden hinzugefügt, um sicherzustellen
Dieser Artikel ist Teil einer Web Dev Tech -Serie von Microsoft. Vielen Dank, dass Sie die Partner unterstützt haben, die SitePoint ermöglichen.
Diese Node.js-Tutorial-Serie hilft Ihnen dabei, eine in der Cloud bereitgestellte Echtzeit-Chatroom-Web-App mit Node.JS-gestütztem Chatroom-Web-App zu erstellen. In dieser Serie erfahren Sie, wie Sie Node.js auf Ihrem Windows -Computer einrichten (oder einfach die Konzepte lernen, wenn Sie sich auf dem Mac befinden), wie Sie ein Web -Frontend mit Express entwickeln, wie Sie eine Node.js Express -App für die Bereitstellung eines Node.js -Apps zu entwickeln. Azure, wie man Socket.io verwendet, um eine Echtzeitschicht hinzuzufügen und wie man alles zusammenstellt.Das Tutorial verwendet das optionale Visual Studio und die Node.JS-Tools für das Visual Studio-Plug-In als Entwicklungsumgebung. Ich habe Links zu kostenlosen Downloads beider Tools bereitgestellt. Dies ist ein Anfänger bis mittlerer Artikel-Sie werden erwartet, dass Sie HTML5 und JavaScript kennen.
Teil 1 - Einführung in Node.jsTeil 4 - Erstellen einer Chatroom -Benutzeroberfläche mit BootstrapTeil 2 - Willkommen, mit Node.js und Azure
zu exprimieren
Teil 3 - Erstellen eines Backends mit Node.js, Mongo und Socket.ioTeil 4 - Erstellen einer Chatroom -Benutzeroberfläche mit Bootstrap
Teil 5 - Verbinden des Chatrooms mit WebSockets
Teil 6 - Finale und Debugging Remote Node.js Apps
Willkommen in Teil 4 der praktischen Node.JS-Tutorial-Serie: Erstellen Sie eine Node.JS-gestützte Chatroom-Web-App.
In dieser Ausgabe zeige ich Ihnen, wie Sie dem Chatroom-Backend, den Sie in Teil 2 und Teil 2 eingebaut haben, ein Frontend im Twitter-Bootstrap-Stil hinzufügen.
Was ist Bootstrap?
Bootstrap ist ein sehr beliebtes HTML- und CSS -Framework zum Erstellen von Websites und Webanwendungen. Es ist das Projekt Nummer eins auf GitHub. Bootstrap unterstützt das reaktionsschnelle Webdesign und ermöglicht das Layout Ihrer Seite an das Gerät (Desktop, Tablet, Mobile).
Startstrap zu unserem Projekt hinzufügen
Um unserem Projekt Bootstrap hinzuzufügen, müssen wir die minifizierten CSS- und JS -Dateien für Bootstrap herunterladen. Sie können Bootstrap von diesem Link herunterladen. Nachdem Sie Bootstrap heruntergeladen haben, entpacken Sie die Datei und kopieren Sie die Ordner CSS, JS und Schriftarten in den öffentlichen Ordner in Ihrem Projekt.
Sie werden einige Inkonsistenzen mit der vorhandenen Ordnerstruktur bemerken. Wir werden die Stylesheets und JavaScript -Ordner vereinen. Ich bevorzuge die Bootstrap-Nomenklatur von CSS für Stylesheets und JS für JavaScript, da dies mit anderen Bibliotheken von Drittanbietern geteilt wird. Kopieren Sie die Dateien in Stylesheets in CSS und löschen Sie den JavaScript -Ordner, so wie er leer sein sollte. Gehen Sie als nächstes zu layout.jade und ändern Sie die folgende Zeile:
link(rel='stylesheet' href='/stylesheets/style.css')
bis:
link(rel='stylesheet' href='/css/style.css')
Als nächstes möchten wir die Bootstrap -CSS -Dateilinks zum Header und die entsprechenden Meta -Tags für HTML5 -Apps in der Datei layout.jade hinzufügen. Sie müssen die folgenden Zeilen kurz vor der Zeile hinzufügen, die den Link style.css enthält.
meta(charset="utf-8") meta(http-equiv="X-UA-Compatible" content="IE=edge") link(rel='stylesheet' href='/css/bootstrap.min.css') link(rel='stylesheet' href='/css/bootstrap-theme.min.css')
Als nächstes möchten wir die JavaScript -Datei hinzufügen, die Bootstrap für seine Komponenten und Plugins benötigt. Fügen Sie die folgende Zeile zum Ende des Layouts hinzu. JADE:
script(type=’text/javascript’ src=’/js/bootstrap.min.js’)
abgeschlossenes layout.jade
doctype html html head title= title meta(charset="utf-8") meta(http-equiv="X-UA-Compatible" content="IE=edge") link(rel='stylesheet' href='/css/bootstrap.min.css') link(rel='stylesheet' href='/css/bootstrap-theme.min.css') link(rel='stylesheet' href='/css/style.css') body block content script(type='text/javascript')
Erstellen des Chat -UI -Layouts
Es ist Zeit, das Layout der Chat -Benutzeroberfläche zu entwickeln. Erstens möchten Sie vielleicht über Bootstrap lesen und sich dieses lange Tutorial ansehen. Alle Chat -Engines verfügen über einen Bereich für die kürzlich empfangenen Nachrichten und einen Bereich, in dem ein Benutzer eine Nachricht schreiben und senden kann. Historisch gesehen sollte das Layout den Bearbeitungsbereich am Boden und die Nachrichten oben angehängt haben.
Es ist nicht einfach, Elemente auf einer HTML -Seite am Ende des Ansichtsfensters ohne etwas Arbeit zu reparieren. Ich werde dieses Beispiel verfolgen, um eine Fußzeile auf den Boden zu reparieren. Wir möchten die Index.jade -Datei ändern und alle Codezeilen im Inhaltsblock entfernen.
Zunächst fügen wir den Bereich der Seite hinzu, die die empfangenen Nachrichten enthalten. Beginnen wir zunächst ein DIV mit der Klassenverpackung hinzufügen. In Jade müssen Sie nur schreiben, um ein
Als nächstes möchten wir ein weiteres DIV mit dem Klassenbehälter-Fluid hinzufügen, um der Seite eine Flüssigkeitsbreite hinzuzufügen. Im Inneren erstelle ich ein H1 -Element, das mit „Willkommen im Knoten -Chatroom“ und einem DIV mit einem ID -Nachrichten und einem endgültigen Div mit dem Klassenschub steht, mit dem wir den Bearbeitungsbereich des Nachrichtenbearbeitungsbereichs des Chatroom nach unten drücken werden das Ansichtsfenster
.wrap .container-fluid h1 Welcome to the Node Chatroom #messages .push
Als nächstes werden wir den Nachrichtenbearbeitungsbereich entwickeln. Wir möchten die Textbox erfassen und die Schaltfläche innerhalb eines DIV namens Fußzeile und ein DIV namens Containerfluid senden. Die Fußzeile DIV hat die gleiche Einkerbung wie die Wrap Div.
Als nächstes werde ich das Bootstrap Grid -System verwenden (hier lesen), um den Bearbeitungsbereich der Nachrichten in zwei Teile zu teilen. Eine der Spalten nimmt den größten Teil des Leerzeichens ein und enthält das Textfeld zum Schreiben der Nachricht. Die zweite Spalte enthält eine Block-Ebene-Schaltfläche zum Senden der Nachricht. Beachten Sie, wie mit Jade die Attribute eines Elements anhand der Absatznotation angeben können. Der Code sieht so aus:
link(rel='stylesheet' href='/stylesheets/style.css')
abgeschlossen index.jade
link(rel='stylesheet' href='/css/style.css')
CSS hinzufügen, um den Bearbeitungsbereich der Nachrichten zum Ende des Ansichtsfensters zu zwingen
Wir möchten den Bearbeitungsbereich der Nachrichten zum Ende des Ansichtsfensters erzwingen. Wir möchten einige benutzerdefinierte CSS -Regeln auf der Seite der Öffentlichkeit/CSS/style.styl hinzufügen. Diese Datei verwendet den Stylus CSS -Präprozessor, aber Sie können auch wörtliche CSS einfügen, die in die generierte CSS -Datei wieder aufgenommen werden.
Erstens möchten wir sicherstellen, dass die gesamte Seite 100% der Höhe einnimmt.
meta(charset="utf-8") meta(http-equiv="X-UA-Compatible" content="IE=edge") link(rel='stylesheet' href='/css/bootstrap.min.css') link(rel='stylesheet' href='/css/bootstrap-theme.min.css')
Zweitens möchten wir sicherstellen, dass der Wickelbereich die maximale Höhe einnimmt, die er kann, aber ein 60px -Rand am Boden für unsere Fußzeile und unsere Meldungsbearbeitungsbereich verlässt.
script(type=’text/javascript’ src=’/js/bootstrap.min.js’)
Drittens möchten wir sicherstellen, dass dieser Raum für den Bearbeitungsbereich respektiert wird und ihn der Fußzeile zuordnen.
doctype html html head title= title meta(charset="utf-8") meta(http-equiv="X-UA-Compatible" content="IE=edge") link(rel='stylesheet' href='/css/bootstrap.min.css') link(rel='stylesheet' href='/css/bootstrap-theme.min.css') link(rel='stylesheet' href='/css/style.css') body block content script(type='text/javascript')
Fügen wir aus stilistischen Gründen der Fußzeile schließlich eine subtile Hintergrundfarbe hinzu.
.wrap .container-fluid h1 Welcome to the Node Chatroom #messages .push
abgeschlossener Stil.Styl
.footer .container-fluid .row .col-xs-8.col-sm-9 input(type="text" placeholder="Write a message here..." rows="3") .col-xs-4.col-sm-3 button#send-message-btn.btn.btn-primary.btn-lg.btn-block Send Message
screenshot
Wenn Sie alles richtig gemacht haben, sollten Sie eine Benutzeroberfläche haben, die so aussieht:

Schlussfolgerung
voila! Wir haben Bootstrap und die Jade/Stylus -Präprozessoren verwendet, um ein schönes UI -Layout für unseren Chatroom hinzuzufügen, der von Node.js. In der nächsten Rate zeige ich Ihnen, wie Sie die Benutzeroberfläche und das Node.js -Backend über WebSockets verbinden.
Bleiben Sie auf Teil 5!
Teil 5 - Das Verbinden des Chatrooms mit WebSockets ist hier. Sie können über diese und andere Artikel auf dem Laufenden bleiben, indem Sie meinem Twitter-Account
folgen
mehr node.js lernt auf azureFür eingehenderes Lernen auf Node.js ist mein Kurs hier in der Microsoft Virtual Academy verfügbar.
oder einige kürzere Formatvideos zu ähnlichen Knoten.js Themen:
Dieser Artikel ist Teil der Web Dev Tech -Serie von Microsoft. Wir freuen uns, Projekt Spartan und seinen neuen Rendering -Engine mit Ihnen zu teilen. Holen Sie sich kostenlose virtuelle Maschinen oder testen Sie remote auf Ihrem Mac-, iOS-, Android- oder Windows -Gerät bei modernen.
häufig gestellte Fragen (FAQs) zum Erstellen eines Node.JS-Anbieter-Chatroom-Web-App
Wie kann ich die Chat-Benutzeroberfläche in meiner Node.js-gestützten Chatroom-Web-App anpassen? Dateien, die der Chat -Benutzeroberfläche zugeordnet sind. Sie können die Farben, Schriftarten und das Layout der Chat -Benutzeroberfläche zu Ihren Vorlieben ändern. Sie können auch zusätzliche Funktionen wie Emojis, Dateifreigabe und Sprachnachrichten hinzufügen, indem Sie Bibliotheken von Drittanbietern integrieren oder Ihren eigenen benutzerdefinierten Code schreiben. Denken Sie daran, Ihre Änderungen gründlich zu testen, um sicherzustellen, dass sie wie erwartet funktionieren und keine Fehler in Ihre App einführen. Es ist wichtig, sich auf Benutzerfreundlichkeit und Einfachheit zu konzentrieren. Die Chat-Benutzeroberfläche sollte auch für Erstnutzer intuitiv und einfach zu bedienen sein. Es sollte auch reagieren, dh es sollte auf allen Geräten und Bildschirmgrößen gut aussehen und funktionieren. Weitere Best Practices sind die Bereitstellung von Feedback für den Benutzer (z. B. Anzeigen, wann eine Nachricht gesendet oder gelesen wurde), die Anpassung (z. Sicher, die Benutzeroberfläche ist über die Tastatur navigierbar).
Wie kann ich meiner Chatroom-Web-App Echtzeit-Funktionen hinzufügen? WebSocket, ein Protokoll, das über eine einzelne TCP-Verbindung mit Full-Duplex-Kommunikationskanälen verfügt. Dies ermöglicht eine Echtzeitkommunikation zwischen Client und Server. In node.js können Sie Bibliotheken wie Socket.io verwenden, um die WebSocket -Funktionalität einfach zu implementieren. Auf diese Weise können Nachrichten sofort gesendet und empfangen werden, wodurch Ihre Benutzer ein nahtloses Chat-Erlebnis bereitgestellt werden. ist ein entscheidender Aspekt jeder Web -App. In node.js können Sie Fehler mithilfe von Middleware -Funktionen verarbeiten. Diese Funktionen können Fehler aufnehmen und umgehen, die während der Ausführung Ihres Codes auftreten. Sie können auch Try/Catch -Blöcke verwenden, um Fehler im synchronen Code zu verarbeiten. Es ist wichtig, dem Benutzer informative Fehlermeldungen bereitzustellen und Fehler für Debugging -Zwecke zu protokollieren.
Wie kann ich die Sicherheit meiner Chatroom -Web -App sicherstellen? beinhaltet mehrere Schritte. Zunächst sollten Sie HTTPS verwenden, um Daten auf dem Transport zu verschlüsseln. Zweitens sollten Sie die Benutzereingabe sanieren, um die Skriptangriffe (Skript-) Angriffe (Cross-Site-Skripts) zu verhindern. Drittens sollten Sie sichere Cookies verwenden, um eine Entführungs von Sitzungen zu verhindern. Viertens sollten Sie die Ratenbeschränkung umsetzen, um Brute -Force -Angriffe zu verhindern. Schließlich sollten Sie Ihren Node.js und alle anderen Software auf dem neuesten Stand halten, um von den neuesten Sicherheitspatches zu profitieren.
Wie kann ich meine node.js-angetriebene Chatroom-Web-App skalieren? Eine gemeinsame Methode ist die horizontale Skalierung, bei der mehr Server hinzugefügt werden, um eine erhöhte Last zu bewältigen. Eine andere Methode ist die vertikale Skalierung, bei der mehr Ressourcen (z. B. CPU oder RAM) zu einem vorhandenen Server hinzugefügt werden. Sie können auch Lastausgleich verwenden, um den Datenverkehr gleichmäßig auf mehrere Server zu verteilen.
Wie kann ich meine Chatroom -Web -App testen? Eine gute Benutzererfahrung. Sie können Unit-Tests verwenden, um einzelne Funktionen zu testen, Integrationstests zu testen, wie unterschiedliche Teile Ihrer App zusammenarbeiten, und End-to-End-Tests, um Ihre App aus der Sicht des Benutzers zu testen. Sie können auch manuelle Tests verwenden, um Probleme zu erfassen, die automatisierte Tests möglicherweise vermissen. Die Web -App kann mit verschiedenen Plattformen wie Heroku, AWS oder Google Cloud erfolgen. Diese Plattformen bieten Tools und Dienste, mit denen Sie Ihre App einfach bereitstellen, skalieren und überwachen können. Sie sollten auch in Betracht ziehen, die Tools für kontinuierliche Integration/Continuous Deployment (CD) zu verwenden, um den Bereitstellungsprozess zu automatisieren und sicherzustellen, dass Ihre App immer auf dem neuesten Stand ist. 🎜>
Überwachung der Leistung Ihrer Chatroom -Web -App ist entscheidend, um sicherzustellen, dass sie schnell und reaktionsschnell bleibt. Sie können Tools wie neuer Relikt oder Datadog verwenden, um die Leistung Ihrer App in Echtzeit zu überwachen. Diese Tools können Einblicke in verschiedene Metriken liefern, wie z. B. Antwortzeit, Fehlerrate und Serverlast.Wie kann ich die Benutzererfahrung meiner Chatroom -Web -App verbessern? Ihrer Chatroom -Web -App kann durch verschiedene Methoden erreicht werden. Zunächst sollten Sie sich auf die Leistung konzentrieren, da eine schnelle und reaktionsschnelle App eine bessere Benutzererfahrung bietet. Zweitens sollten Sie Ihre App für alle Benutzer zugänglich machen, einschließlich derjenigen mit Behinderungen. Drittens sollten Sie sich auf das Feedback der Benutzer anhören und Verbesserungen auf der Grundlage ihrer Vorschläge vornehmen. Schließlich sollten Sie Ihre App regelmäßig aktualisieren, um neue Funktionen hinzuzufügen und Fehler zu beheben.
Das obige ist der detaillierte Inhalt vonErstellen Sie eine Node.JS-Betriebene-Chatroom-Web-App: Chatroom UI mit Bootstrap. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











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.

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.

Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

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.

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

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

Die Verschiebung von C/C zu JavaScript erfordert die Anpassung an dynamische Typisierung, Müllsammlung und asynchrone Programmierung. 1) C/C ist eine statisch typisierte Sprache, die eine manuelle Speicherverwaltung erfordert, während JavaScript dynamisch eingegeben und die Müllsammlung automatisch verarbeitet wird. 2) C/C muss in den Maschinencode kompiliert werden, während JavaScript eine interpretierte Sprache ist. 3) JavaScript führt Konzepte wie Verschlüsse, Prototypketten und Versprechen ein, die die Flexibilität und asynchrone Programmierfunktionen verbessern.

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
