Eckular 8 ist die neueste Version von Google's Winkel - eines der beste Javascript-Frameworks. um. In diesem Artikel laufen wir durch das, was etwas über Winkel 8 ist, und zeigen Sie, wie Sie loslegen können. Erstens ein kurzer Blick auf das, was bisher mit dem Rahmen passiert ist.
Die Einführung des Angulars führte zu einem Paradigmenwechsel in der Webentwicklung: Während die meisten Bibliotheken, die sich auf die Unterstützung für Entwickler mit relativ begrenzten architektonischen Auswirkungen haben, eingeschränkt, ging das Entwicklerteam des Angulars in die andere Richtung. Ihr Produkt zwingt Sie, eine bestimmte Architektur zu verwenden, wobei Abweichungen von schwierig zu handelszeichen reichen. Tatsächlich läuft der größte Winkelcode durch ein relativ komplexes Transportoolkabeln, bevor es jemals den Browser trifft.
Aufgrund des immensen Erfolgs von Winkel, sowohl innerhalb als auch außerhalb von Google Inc, hat die Entwicklung - durch und groß stabilisiert. Dies bedeutet, dass das Aufhebung von Code ändert sich nur wenige, während die halbjährlichen Upgrades auf die Anpassung des Rahmens für Änderungen in der Web-Browsing-Landschaft konzentriert sind.
Im Falle von Winkel 8 wird beispielsweise ein neuer JavaScript-Compiler eingesetzt (wenn auch noch experimentell). Es optimiert den generierten Kompatibilitätscode, um auf Kosten älterer Browser deutlich kleiner und schneller zu sein. Darüber hinaus ist der Web-Arbeiter-Support integriert, um die Verarbeitungsfähigkeit der Winkel zu erhöhen. Kurz gesagt, es gibt viel zu sehen - also tauchen wir uns an.
Wenn Sie lieber einen Ort ohne Code entwerfen würden, versuchen Sie es mit einem dieser einfachen Website-Builders. . Und um die Dinge zu machen, die noch glatter laufen lassen, holen Sie sich Web-Hosting Service richtig.
Die Toolchain des Angulars lebt in der Nodejs-Umgebung. Nach diesem Schreiben wird node.js 10.9 oder besser benötigt - wenn Sie sich auf einer älteren Version befinden, Besuchen Sie die Website von Node.js und bekommen ein Upgrade. Der unten angegebene Code zeigt den Versionsstatus auf diesem Computer.
Tamhan @ Tamhan18: ~ $ node -v
v12.4.0.
Tamhan @ Tamhan18: ~ $ npm -v
6.9.0
Winkel-Toolchain befindet sich in einem Befehlszeilen-Dienstprogramm namens ng. . Es kann über den bekannten NPM installiert werden.
Tamhan @ Tamhan18: ~ $ sudo npm install -g @ eckular / cli
Tamhan @ Tamhan18: ~ $ ng Version
Seien Sie vorsichtig, um die in dem Bild dargestellte Frage zu beantworten.
Versionsinformationen aus dem Werkzeug erhalten, ist ziemlich schwierig - nicht nur die Syntax eindeutig, sondern die Ausgabe ist auch ausführlich (siehe Abbildung unten).
ng. erzeugt das Winkelgerüst für uns. In den folgenden Schritten möchten wir Routing hinzufügen und SASS für CSS-Transpilation verwenden. Wenn die Bereitstellung aus irgendeinem Grund fehlschlägt, leeren Sie das Arbeitsverzeichnis und starten Sie neu ng. mit Superuser-Rechten.
Tamhan @ Tamhan18: ~ $ Mkdir-Angularspace
Tamhan @ Tamhan18: ~ $ CD-Angularspace /
Tamhan @ Tamhan18: ~ / Angularspace $ NG NG NEW ARTWORTSTEST
Die neue Version von Winkel optimiert den Rückwärtskompati-Code für reduzierte Auswirkungen - eine Datei namens Browserlist Hiermit können Sie entscheiden, welche Browser unterstützt werden sollen. Öffnen Browserlist und entfernen Sie das Wort nicht vor IE 9 nach IE11.
. . .
& gt; 0,5%
letzte 2 Versionen
Firefox ESR.
nicht tot
Dh 9-11 # für IE 9-11-Unterstützung, entfernen Sie 'nicht'.
Bestellen Sie ein Kompilieren des Projekts, ändern Sie in den Verteilungsordner und spülen Sie nicht benötigte Map-Dateien.
Tamhan @ Tamhan18: ~ / Angularspace / Arbeitstest $
sudo ng build.
Tamhan @ Tamhan18: ~ / Angularspace / Worktest / Dist / Worktest $ ls
Rufen Sie Baum auf, um die Ergebnisse zu sehen - ng. Erstellt mehrere Versionen verschiedener Codedateien (siehe Abbildung unten).
Web-Arbeiter lassen JavaScript die letzte Grenze der nativen Anwendungen eingeben: massiv parallele Verarbeitung von Aufgaben. Mit Winkel 8 kann ein Webarbeiter direkt aus dem Komfort der ng. Befehlszeilen-Dienstprogramm.
Tamhan @ Tamhan18: ~ / Angularspace / Arbeitstest $
sudo ng erzeugt web Arbeiter myworker
Erstellen Sie tsconfig.arbeiter.json (212 Bytes)
Erstellen Sie SRC / App / myworker.arbeiter (157 Bytes)
Aktualisieren Sie tsconfig.app.json (236 Bytes)
Update eckular.json (3640 Bytes)
ng. Die Leistung ist wahrscheinlich auf den ersten Blick einschüchternd aussehen. Öffnen der Datei. SRC / App / myworker.arbeiter.ts in einem Code-Editor der Wahl zeigt Code, den Sie gut kennen sollten Webworker. Spezifikation. Prinzipiell erhält der Arbeiter Nachrichten und verarbeitet sie nach Bedarf.
/// & lt; Referenz lib = "webworker" / & gt;
adventlister ('Nachricht', ({Data}) = & gt; {
const-Antwort = `Response der Arbeitnehmer auf
$ {data} `;
Postmessage (Antwort);
});
Winkelanwendungen bestehen aus Komponenten. Abfeuern unseres Webarbeiters ist am besten in der Appcomponent. , das erweitert wird, um einen Hörer für die Neigung Veranstaltung. Im Moment emittieren Sie nur Statusinformationen.
Import {Komponente, Oninit} von '@ eckular / core';
@Komponente({
. . .
})
Exportklasse Appcomponent-Implementierungen ONINIT {
titel = 'Arbeitstest';
ngoninit () {
console.log ("Appcomponent: oninit ()");
}
}
Erfahrene Taster-Entwickler fragen sich, warum unser Code den Konstruktor nicht von der Programmiersprache verwendet. Der Grund dafür ist das ngoninit. ist ein Lifecycle-Ereignis, das, wann immer ein Initialisierungsereignis erfolgt - dies muss nicht mit dem Klassenaufruf korreliert sein.
Zu diesem Zeitpunkt ist das Programm fertig. Wir werden es von dem Server innen ausführen ng. , die über den Befehl dienst aufgerufen werden kann. Ein ordentlicher Aspekt dieses Ansatzes ist, dass das Programm Änderungen erkennt und das Projekt in der Fliege neu kompiliert.
Tamhan @ Tamhan18: ~ / Angularspace / Arbeitstest $
sudo ng servieren
Schauen Sie sich die Figur an, um dies in Aktion in dem Bild unten zu sehen.
ng servieren Putputs die Adresse des lokalen Webservers, der normalerweise ist http: // localhost: 4200 / . Öffnen Sie die Webseite und öffnen Sie die Entwicklertools, um die Statusleistung anzuzeigen. Denk daran, dass console.log. Gibt Daten an die Browserkonsole aus und verlässt die Konsole der Nodejs-Instanz unberührt.
Zu diesem Zeitpunkt erstellen wir eine Instanz des Arbeiters und bieten sie mit einer Nachricht an. Seine Ergebnisse werden dann in der Browserkonsole angezeigt.
if (Typof-Arbeiter! == 'undefined') {
// Erstelle eine neue
Const Worker = New Worker ('./ myworker.arbeiter', {type: 'module'});
arbeiter.onmessage = ({data}) = & gt; {
console.log ('Seite erhaltene Nachricht: $ \
{Daten\}');
};
Arbeiter.Postmessage ('hallo');
} else {
console.log ("keine Arbeiterunterstützung");
}
Zukünftige Versionen von Winkel werden einen fortschrittlicheren Compiler verwenden, was zu noch kleineren Ansichten führt. Während das Produkt noch nicht abgeschlossen ist, kann ein IVY-fähiges Skelett über ausgeführt werden NG New Ivy-Projekt - Enable-Efeu . Ändern Sie alternativ die Compiler-Einstellungen, wie im Snippet gezeigt.
"AngularCompileroptions": {
"ENÖGLIVYY": TRUE
}
Ein Wort der Warnung: Efeu führt zu erstaunlichen Größenreduzierungen, aber es ist nicht frei. Das Produkt muss noch sich stabilisieren, so dass die Verwendung in produktiven Umgebungen nicht empfohlen wird.
Eckig's. ng. Befehlszeilen-Tool verwendete Kinderskripts intern seit einiger Zeit. Winkel 8 UPS Das Ante, in dem Sie nun auch diese Funktion verwenden können, um Ihre eigenen Aufgaben zu führen, da Ihre Anwendung zusammengebaut und zusammengestellt ist.
"Architekt": {
"bauen": {
"Builder": "@ eckular-devkit /
Build-eckular: Browser ",
Eine ordentliche Anwendung von ng. Die Skripts beinhalten das direkte Hochladen von Anwendungen in Cloud-Dienste. Das Git-Repository Bietet ein nützliches Skript, das Ihre Arbeit auf ein Firebase-Konto hochlädt.
Entwickler, die von der Winkel 1.x abentreichen, auch als Angularjs genannt, hatten einen fairen Anteil an Problemen, die den Navigator erhalten, um den Navigator in "kombinierten" Anwendungen zu arbeiten. Der neue einheitliche Standortdienst zielt darauf ab, diesen Prozess glatter zu machen.
Große Projekte profitieren von der Fähigkeit, die Arbeitsbereichsstruktur dynamisch zu ändern. Dies geschieht über den neuen Workspace-API, der in Winkel 8.0 eingeführt wurde - das Snippet, das diesen Schritt begleitet, einen schnellen Überblick über das Verhalten.
Async-Funktion demonstrieren () {
const Host = Arbeitsbereiche.
CreateworkSpaceHost (neuer Nodejssynchost ());
const Workspace = erwarten Sie Arbeitsbereiche.
ReadWorkSpace ('Pfad / zu Arbeitsbereich / Verzeichnis /',
Gastgeber);
const Project = Workspace.Projekte.
erhalten ('My-App');
const Buildtarget = project.targets.
Holen Sie sich ('Build');
buildtarget.options.optimization = true;
WARAIT WARE SPACES.WRITWORKSPACE (Arbeitsbereich,
Gastgeber);
}
Das Gebäude Große JavaScript-Code-Basen wird langweilig. Zukünftige Versionen von Angularjs werden das Bazel-Bausystem von Google verwenden, um den Prozess zu beschleunigen - traurig, zum Zeitpunkt des Schreibens war es nicht bereit für Primetime.
Obwohl Google extrem sorgfältig sorgen, um den Code nicht zu brechen, müssen einige Funktionen einfach entfernt werden, da sie nicht mehr benötigt werden. Prüfen diese Abschreibungsliste Um mehr über Funktionen zu erfahren, die vermieden werden sollten.
Wie immer kann ein Artikel einer gesamten Freigabe niemals gerecht werden. Glücklicherweise, Dieses Änderungsprotokoll Bietet eine detaillierte Liste aller Änderungen - nur für den Fall, dass Sie jemals das Gefühl haben, den Puls eines besonders liebsten Features zu überprüfen.
Haben Sie viele Dateien für den Hochladen auf Ihre Website bereit? Sichern Sie sie in der zuverlässigsten Cloud-Speicherung. .
Dieser Artikel wurde ursprünglich im Creative Web Design Magazine veröffentlicht Webdesigner .
Weiterlesen:
(Bildkredite: Antony Ward) In Maya, Mischformen oder Morph-Targets, wie sie auch bekannt sind, sind ein mächtiger We..
(Bildkredite: Matt Crouch) Willkommen in unserem Anleitung zur Verwaltung des Reaktionsformulars mit Formik. Formular..
(Bildkredite: Phil Nolan) Reality Capture ist eine großartige Möglichkeit, Ihre eigenen 3D-Scans zu erstellen. Alle..
Die MacOS-Fotos-App begann das Leben als iPhoto: eine Consumer-App zum Verwalten von digitalen Fotografien, mit einigen grundlege..
Dieses Tutorial zeigt Ihnen, wie Sie einen mobilen App-Prototyp in Adobe XD erstellen können, wurde zusammengefügt ..
Ich wünschte, Sie könnten eine neue Fähigkeit abholen, aber nicht die Zeit, sich zu finden, sich zu finden und zu lernen? Adobe's. Machen Sie es jetzt Wiedergabeliste Könnt..
Websites verwenden psychologische Techniken, um das Verhalten ihrer Nutzer zu beeinflussen. Ziehung von jahrzehntelanger akademischer Forschung, der erklärt, wie unser Verstand arbeitet und ..
Es gibt nichts, was ich besser liebe, als draußen die Welt um mich herum zu malen, aber es war definitiv ein Kampf um mich, als ich zuerst Gouache begann. Arbeiten mit einem unbekannten Mice..