Dieser Artikel wurde von Chris Perry und Ritesh Kumar überprüft. Vielen Dank an alle Peer -Rezensenten von SitePoint, die SitePoint -Inhalte so gut wie m?glich gemacht haben!
In diesem Artikel geben wir einen überblick über die Vorlagen in JavaScript. Wir werden zun?chst diskutieren, was JavaScript -Vorlagen sind, wann wir sie verwenden sollten und wie wir sie implementieren, bevor wir sie in Bezug auf einige der beliebten Vorlagen -Motoren auf ein wenig detaillierter eingehen. Wir konzentrieren uns auf Schnurrbart, Lenker und JQuery -Vorlage.
Key Takeaways
- JavaScript -Vorlagen bieten eine Methode zur Trennung von HTML -Struktur von Inhalten und Verbesserung der Wartbarkeit der Codebasis. Sie sind besonders vorteilhaft für Echtzeit-Web-Apps und Internationalisierung, für die h?ufig unterschiedliche Inhalte mit demselben Format angezeigt werden müssen.
- mustache.js ist ein multisprachiges, logikfreies Templating-System, das ideal für kleine Projekte und schnelle Prototypen ist. Es ist einfach, hat keine Abh?ngigkeiten und erfordert keine vorkompilierten Vorlagen. Darüber hinaus k?nnen Projekte sp?ter problemlos auf Lenker aufrüsten, da die Vorlagen meist identisch sind.
- Lenker, die auf dem Schnurrbart basieren, unterstützt Blockausdrücke und vorkompilierte Vorlagen und verbessert die Leistung erheblich. Es ist für Projekte geeignet, bei denen die Leistung von entscheidender Bedeutung ist und das Hinzufügen von 18 KB zum Seitengewicht kein Problem ist. Um die Leistungsvorteile und die reduzierte Dateigr??e zu sehen, müssen vorkompilierte Vorlagen verwendet werden.
- jQuery -Vorlage, obwohl nicht so beliebt wie Schnurrbart.js oder Lenker, sollte nicht übersehen werden. Es ist JQuery erforderlich und verwendet Datenattribute, um anzugeben, wo Daten in das HTML -Fragment eingefügt werden sollten. Es ist ideal für Projekte, einschlie?lich JQuery aufgrund seiner geringen Dateigr??e. Es wird jedoch nicht für Projekte empfohlen, bei denen JQuery unter Berücksichtigung der Gesamtdateigr??e nicht verwendet wird.
Was sind JavaScript -Vorlagen?
JavaScript -Vorlagen sind eine Methode zur Trennung von HTML -Struktur von dem darin enthaltenen Inhalt. Vorlagensysteme führen im Allgemeinen eine neue Syntax ein, sind jedoch normalerweise sehr einfach zu arbeiten, insbesondere wenn wir zuvor Templating -Systeme an anderer Stelle verwendet haben (z. B. Twig in PHP). Ein unterhaltsamer Punkt ist zu beachten, dass der Token -Ersatz normalerweise durch doppelte lockige Klammern ({{...}}) symbolisiert wird.
Wann sollten wir JavaScript -Vorlagen verwenden?
Sobald wir HTML in JavaScript -Zeichenfolgen einschlie?en, sollten wir überlegen, welche Vorteile JavaScript -Vorlagen uns geben k?nnten. Die Trennung von Bedenken ist beim Aufbau einer wartbaren Codebasis von gr??ter Bedeutung. Alles, was uns helfen kann, dies zu erreichen, sollte untersucht werden. In der Front-End-Webentwicklung wird dies bei der Trennung von HTML von JavaScript verk?rpert (dies funktioniert in beide Richtungen, da wir JavaScript-Inline nicht in HTML einbeziehen sollten).
Einige gemeinsame Szenarien, die von JavaScript-Vorlagen profitieren k?nnten, sind Echtzeit-Web-Apps (z. B. eine Live-Streaming-App für Ereigniskommentar) oder Internationalisierung (I18N), für die h?ufig unterschiedliche Inhalte mit derselben Formatierung angezeigt werden .
Wie implementieren wir JavaScript -Vorlagen?
Wir werden uns mit bestimmten Bibliotheksbeispielen ausführlicher eingehen, aber im Wesentlichen ist es so einfach, wie unsere ausgew?hlte Bibliothek einbezogen, unsere Vorlage abrufen und neben einigen Daten rendern.
Die meisten Bibliotheken unterstützen sowohl Inline- als auch externe Vorlagen. Inline -Vorlagen eignen sich hervorragend, wenn wir nur sehr wenige Vorlagen haben, oder wir wissen, dass wir die enthaltenen Vorlagen auf jeder Seitenladung verwenden, aber im Allgemeinen sollten unsere Vorlagen extern sein. Externe Vorlagen bringen viele Vorteile mit, haupts?chlich, dass Vorlagen niemals an den Kunden heruntergeladen werden, es sei denn, sie werden von der Seite ben?tigt.
mustache.js
Schnurrbart ist ein multisprachiges, logikfreies Vorlagensystem. Die Implementierung von Schnurrbartschache.js ist nur eine von vielen. Sobald wir uns an die (sehr einfache) Syntax gew?hnt haben, k?nnen wir sie in einer Vielzahl von Programmiersprachen verwenden.
Schlüsselpunkte
- 9 KB Dateigr??e (klein)
- Einfach
- Keine Abh?ngigkeiten
- Keine Logik
- keine vorkompilierten Vorlagen
- Programmiersprache Agnostische
Beispiel
<span><span><span><script</span> id<span>="template"</span> type<span>="x-tmpl-mustache"</span>></span><span> </span></span><span><span> <span><p>Use the <strong>{{power}}</strong>, {{name}}!</p> </span></span></span><span><span></span><span><span></script</span>></span> </span>
//Grab the inline template var template = document.getElementById('template').innerHTML; //Parse it (optional, only necessary if template is to be used again) Mustache.parse(template); //Render the data into the template var rendered = Mustache.render(template, {name: "Luke", power: "force"}); //Overwrite the contents of #target with the rendered HTML document.getElementById('target').innerHTML = rendered;
Siehe den Stift -Schnurrbart.js Beispiel von SitePoint (@sinepoint) auf CodePen.
Wie Sie in diesem Beispiel sehen k?nnen, nimmt die Funktion "Schnurrbart". In diesem Fall ersetzen wir den Namen und eine Leistungsvariablen durch einfache Saiten, aber es ist m?glich, viel mehr zu tun. Zum Beispiel über ein Array oder nutzen Sie eine spezielle Rendering -Funktion, die die aktuelle Ansicht als Ansichtsargument verwendet.
Schnurrbart.js eignet sich perfekt für kleine Projekte und schnelle Prototypen, bei denen die Komplexit?t der Vorlagen minimal ist. Eine wichtige Sache zu beachten ist, dass wir ein Projekt mit mustache.js starten und sp?ter einfach auf den Lenker auf upgraden k?nnen, da die Vorlagen (meistens) gleich sind.
Wenn Sie mehr über Schnurrbart lesen m?chten, lesen Sie: Erstellen von HTML -Vorlagen mit Schnurrbart.js.
landesbars.js
lenkers.js ist auf dem Schnurrbart aufgebaut und ist meistens mit Schnurrbartvorlagen kompatibel. Kurz gesagt, es liefert alles Schnurrbart.js und unterstützt Blockausdrücke und vorkompilierte Vorlagen. Vorkompilierte Vorlagen sind eine gro?e Sache, da sie die Leistung um einen gro?en Spielraum erh?hen (in einem groben Leistungstest, vorkompilierte Lenker. Mit Blockausdrücken k?nnen Sie mehr Logik in Ihre Vorlagen einbeziehen. Eines der h?ufigsten Beispiele dafür sind fortgeschrittene Iteratoren - z. Erstellen Sie einen
- Listen -Iterator, der jedes Element in
- einbindet. Sie k?nnen hier mehr über Blockausdrücke lesen.
Schlüsselpunkte
- 86 KB Dateigr??e (gro?) oder 18 KB bei Verwendung vorkompilierter Vorlagen
- Ausdrücke (Helfer)
- vorkompilierte Vorlagen
- Keine Abh?ngigkeiten
Beispiel
<span><span><span><script</span> id<span>="template"</span> type<span>="x-tmpl-mustache"</span>></span><span> </span></span><span><span> <span><p>Use the <strong>{{power}}</strong>, {{name}}!</p> </span></span></span><span><span></span><span><span></script</span>></span> </span>
//Grab the inline template var template = document.getElementById('template').innerHTML; //Parse it (optional, only necessary if template is to be used again) Mustache.parse(template); //Render the data into the template var rendered = Mustache.render(template, {name: "Luke", power: "force"}); //Overwrite the contents of #target with the rendered HTML document.getElementById('target').innerHTML = rendered;
Siehe Beispiel für Stiftladungen.
ledBars.js eignet sich perfekt für Projekte, bei denen die Leistung wichtig ist, und wir sind nicht sehr besorgt darüber, 18 KB zum Gewicht der Seite hinzuzufügen. Es ist auch der richtige Weg, wenn wir Blockausdrücke verwenden m?chten.- 7 KB Dateigr??e (klein)
- erfordert jQuery (82 kb)
- Einfach, aber anders als Schnurrbart und Lenker. Js
- keine vorkompilierten Vorlagen
<span><span><span><script</span> id<span>="template"</span> type<span>="text/x-handlebars-template"</span>></span><span> </span></span><span><span> <span><p>Use the <strong>{{power}}</strong>, {{name}}!</p> </span></span></span><span><span></span><span><span></script</span>></span></span>
//Grab the inline template var template = document.getElementById('template').innerHTML; //Compile the template var compiled_template = Handlebars.compile(template); //Render the data into the template var rendered = compiled_template({name: "Luke", power: "force"}); //Overwrite the contents of #target with the renderer HTML document.getElementById('target').innerHTML = rendered;
siehe Beispiel für die Pen -JQuery -Vorlage von SitePoint (@sinepoint) auf CodePen.unterstrich.js
Unterstrich ist eine beliebte JavaScript -Bibliothek, die Vorlagenfunktionen unter einer Vielzahl anderer Merkmale bietet. Standardm??ig verwendet es nicht die von der Schnurrbart verwendete Double Curly Bracket-Syntax, sondern entscheidet sich für Grenzwerte im Erb-Stil ().
eingebettete JS -Vorlagen (EJS)
Wie unterstrich.js verwendet eingebettete JS-Vorlagen die Syntax im Erb-Stil für Vorlagen. Eine Sache, die bei EJs zu beachten ist, ist, dass Vorlagen externe Dateien sein müssen - sie k?nnen nicht inline sein.
Bemerkungen schlie?en
Also welches ist das Beste? Wie bei den meisten Entwicklungsproblemen gibt es keine Silberkugel. Es h?ngt von vielen Dingen ab;
- Verwenden Sie bereits JQuery in Ihrem Projekt?
- mit welchen Vorlagensystemen haben Sie frühere Erfahrung?
- M?chten Sie die Logik aus den Vorlagen fernhalten?
- Wie besorgt sind Sie um die Gesamtdateigr??e des Gesamts?
- Wie besorgt sind Sie um Leistung/Muss Ihre Website Ger?te mit geringer Leistung unterstützen?
Sobald wir über die Faktoren nachgedacht haben, k?nnen wir aus der obigen Liste eine fundierte Wahl treffen. Wie bereits kurz erw?hnt, w?re eine gute flexible Strategie, zuerst Schnurrbart.js zu implementieren und dann sp?ter in Lenker zu tauschen, wenn die zus?tzlichen Funktionen oder Leistungsvorteile erforderlich sind.
Willst du einging? Bitte hinterlassen Sie unten einen Kommentar!
h?ufig gestellte Fragen zu JavaScript -Templating -Motoren
Was sind die wichtigsten Unterschiede zwischen JavaScript -Templating -Motoren? Zum Beispiel ist EJS für seine Einfachheit und Benutzerfreundlichkeit bekannt, w?hrend Lenker.js logiklose Vorlagen bietet. Mustache.js ist eine weitere beliebte Wahl aufgrund seiner Verzugskompatibilit?t. Es ist wichtig, eine Templating -Engine auszuw?hlen, die zu Ihren Projektanforderungen und Ihrem Codierungsstil entspricht. So erstellen Sie dynamische Webseiten. Sie erm?glichen es den Entwicklern, die HTML -Struktur von den Daten zu trennen, was zu saubereren und kartierbaren Code führt. Templating -Motoren unterstützen auch wiederverwendbare Komponenten, die die Entwicklungszeit erheblich verkürzen k?nnen. Projekt, es wird im Allgemeinen nicht empfohlen. Die Verwendung mehrerer Motoren kann zu Code -Inkonsistenz und einer erh?hten Komplexit?t führen. W?hlen Sie am besten einen Vorlagenmotor aus, der Ihren Anforderungen entspricht und w?hrend des gesamten Projekts dabei bleibt.
Wie funktioniert eine JavaScript -Templating -Engine mit Express.js? Sobald Sie einen Vorlagenmotor ausgew?hlt haben, k?nnen Sie ihn als Standardmotor in Express.js einstellen. Auf diese Weise k?nnen Sie Ansichten mithilfe Ihrer gew?hlten Engine rendern und den Prozess der Erzeugung dynamischer html vereinfachen. Feature in JavaScript, die eine einfachere String-Interpolation und Multi-Line-Zeichenfolgen erm?glicht. W?hrend sie zur Erzeugung von HTML verwendet werden k?nnen, fehlen ihnen viele der Merkmale, die von Templating -Motoren bereitgestellt werden, z. B. Unterstützung für wiederverwendbare Komponenten und die Trennung von Bedenken. Sie k?nnen jedoch für einfache Anwendungsf?lle nützlich sein, in denen eine vollwertige Vorlagen-Engine nicht erforderlich ist. Die Engine h?ngt von Ihren Projektanforderungen und pers?nlichen Vorlieben ab. Betrachten Sie Faktoren wie die Komplexit?t Ihres Projekts, die Lernkurve des Motors und die von ihm angebotenen Merkmale. Es ist auch eine gute Idee, die Community und die Unterstützung in der Engine zu betrachten. . Einige Motoren sind schneller beim Zusammenstellen von Vorlagen, w?hrend andere sich beim Rendern auszeichnen. Für die meisten Webanwendungen ist es jedoch unwahrscheinlich, dass diese Unterschiede auf die Leistung spürbar beeinflussen. Obwohl es im Allgemeinen nicht empfohlen wird, es sei denn, Sie haben spezifische Anforderungen, die nicht von bestehenden Motoren erfüllt werden. Erstellen einer Vorlagen-Engine erfordert ein tiefes Verst?ndnis von JavaScript und kann zeitaufw?ndig sein. wie Fehler h?ufig zur Laufzeit auftreten. Die meisten Motoren bieten jedoch hilfreiche Fehlermeldungen, die Sie zur Quelle des Problems führen k?nnen. Es ist auch eine gute Idee, einen Linter zu verwenden, um Syntaxfehler zu fangen. in anderen Kontexten verwendet werden. Beispielsweise k?nnen sie verwendet werden, um E-Mails, PDFs oder andere Art von textbasierten Inhalten zu generieren. Der Hauptvorteil von Templating -Motoren ist die F?higkeit, Daten von der Pr?sentation zu trennen, was in einer Vielzahl von Anwendungen nützlich sein kann.
Das obige ist der detaillierte Inhalt vonEin überblick über JavaScript -Templating -Motoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

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)

Es gibt drei g?ngige M?glichkeiten, HTTP-Anforderungen in Node.js zu initiieren: Verwenden Sie integrierte Module, Axios und Knotenfetch. 1. Verwenden Sie das integrierte HTTP/HTTPS-Modul ohne Abh?ngigkeiten, das für grundlegende Szenarien geeignet ist, jedoch eine manuelle Verarbeitung von Datengen?hten und Fehlerüberwachung erfordert, z. 2.Axios ist eine auf Versprechen basierende Bibliothek von Drittanbietern. Es verfügt über eine kurze Syntax und leistungsstarke Funktionen, unterstützt Async/Auseait, automatische JSON -Konvertierung, Interceptor usw. Es wird empfohlen, asynchrone Anforderungsvorg?nge zu vereinfachen. 3.Node-Fetch bietet einen Stil ?hnlich dem Browser-Abruf, basierend auf Versprechen und einfacher Syntax

JavaScript -Datentypen sind in primitive Typen und Referenztypen unterteilt. Zu den primitiven Typen geh?ren String, Anzahl, Boolesche, Null, undefiniertes und Symbol. Die Werte sind unver?nderlich und Kopien werden bei der Zuweisung von Werten kopiert, sodass sie sich nicht gegenseitig beeinflussen. Referenztypen wie Objekte, Arrays und Funktionen speichern Speicheradressen, und Variablen, die auf dasselbe Objekt zeigen, wirkt sich gegenseitig aus. Typeof und Instanz k?nnen verwendet werden, um die Typen zu bestimmen, aber auf die historischen Probleme der TypeOfnull zu achten. Das Verst?ndnis dieser beiden Arten von Unterschieden kann dazu beitragen, einen stabileren und zuverl?ssigeren Code zu schreiben.

Welches JavaScript -Framework ist die beste Wahl? Die Antwort besteht darin, die am besten geeigneten nach Ihren Bedürfnissen zu w?hlen. 1.React ist flexibel und kostenlos und für mittlere und gro?e Projekte geeignet, für die hohe Anpassungs- und Teamarchitekturf?higkeiten erforderlich sind. 2. Angular bietet vollst?ndige L?sungen, die für Anwendungen auf Unternehmensebene und langfristige Wartung geeignet sind. 3.. Vue ist einfach zu bedienen, geeignet für kleine und mittlere Projekte oder schnelle Entwicklung. Unabh?ngig davon, ob es einen technologischen Stack, die Teamgr??e, der Projektlebenszyklus gibt und ob SSR erforderlich ist, sind auch wichtige Faktoren für die Auswahl eines Rahmens. Kurz gesagt, es gibt keinen absolut besten Rahmen, die beste Wahl ist die, die Ihren Bedürfnissen entspricht.

Hallo, JavaScript -Entwickler! Willkommen in den JavaScript -Nachrichten dieser Woche! Diese Woche konzentrieren wir uns auf: Oracas Markenstreit mit Deno, neue JavaScript -Zeitobjekte werden von Browsern, Google Chrome -Updates und einigen leistungsstarken Entwickler -Tools unterstützt. Fangen wir an! Der Markenstreit von Oracle mit dem Versuch von Deno Oracle, ein "JavaScript" -Marke zu registrieren, hat Kontroversen verursacht. Ryan Dahl, der Sch?pfer von Node.js und Deno, hat eine Petition zur Absage der Marke eingereicht, und er glaubt, dass JavaScript ein offener Standard ist und nicht von Oracle verwendet werden sollte

Versprechen ist der Kernmechanismus für den Umgang mit asynchronen Operationen in JavaScript. Das Verst?ndnis von Kettenanrufen, Fehlerbehebung und Kombination ist der Schlüssel zum Beherrschen ihrer Anwendungen. 1. Der Kettenaufruf gibt ein neues Versprechen durch .then () zurück, um asynchrone Prozessverkampferung zu realisieren. Jeder. Dann () erh?lt das vorherige Ergebnis und kann einen Wert oder ein Versprechen zurückgeben; 2. Die Fehlerbehandlung sollte .Catch () verwenden, um Ausnahmen zu fangen, um stille Ausf?lle zu vermeiden, und den Standardwert im Fang zurückgeben, um den Prozess fortzusetzen. 3. Combinatoren wie Promise.All () (erfolgreich erfolgreich erfolgreich nach allen Erfolg), Versprechen.Race () (Die erste Fertigstellung wird zurückgegeben) und Versprechen.Allsettled () (Warten auf alle Fertigstellungen)

Cacheapi ist ein Tool, das der Browser zur Cache -Netzwerkanfragen bereitstellt, das h?ufig in Verbindung mit dem Servicearbeiter verwendet wird, um die Leistung der Website und die Offline -Erfahrung zu verbessern. 1. Es erm?glicht Entwicklern, Ressourcen wie Skripte, Stilbl?tter, Bilder usw. Zu speichern; 2. Es kann die Cache -Antworten entsprechend den Anfragen übereinstimmen. 3. Es unterstützt das L?schen bestimmter Caches oder das L?schen des gesamten Cache. 4.. Es kann Cache -Priorit?ts- oder Netzwerkpriorit?tsstrategien durch Servicearbeiter implementieren, die sich auf Fetch -Ereignisse anh?ren. 5. Es wird h?ufig für die Offline -Unterstützung verwendet, die wiederholte Zugriffsgeschwindigkeit, die Vorspannungs -Schlüsselressourcen und den Inhalt des Hintergrundaktualisierungss beschleunigen. 6. Wenn Sie es verwenden, müssen Sie auf die Cache -Versionskontrolle, Speicherbeschr?nkungen und den Unterschied zum HTTP -Caching -Mechanismus achten.

JavaScript-Array-integrierte Methoden wie .Map (), .filter () und .Reduce () k?nnen die Datenverarbeitung vereinfachen. 1) .Map () wird verwendet, um Elemente eins in eins um Neuarrays zu konvertieren; 2) .Filter () wird verwendet, um Elemente durch Bedingung zu filtern; 3) .Reduce () wird verwendet, um Daten als einzelner Wert zu aggregieren; Missbrauch sollte bei der Verwendung vermieden werden, was zu Nebenwirkungen oder Leistungsproblemen führt.

Die Ereignisschleife von JavaScript verwaltet asynchrone Vorg?nge, indem sie Call -Stapel, Webapis und Task -Warteschlangen koordinieren. 1. Der Anrufstack führt synchronen Code aus, und wenn er auf asynchrone Aufgaben begegnet, wird er zur Verarbeitung an Webapi übergeben. 2. Nachdem das Webapi die Aufgabe im Hintergrund abgeschlossen hat, wird der Rückruf in die entsprechende Warteschlange (Makroaufgabe oder Micro -Aufgabe) eingebaut. 3. Die Ereignisschleife prüft, ob der Anrufstapel leer ist. Wenn es leer ist, wird der Rückruf aus der Warteschlange herausgenommen und zur Ausführung in den Anrufstapel geschoben. V. 5. Das Verst?ndnis der Ereignisschleife hilft zu vermeiden, den Haupt -Thread zu blockieren und die Codeausführungsreihenfolge zu optimieren.
