Kątowa 8 jest najnowszą wersją kątową Google - jeden z Najlepsze ramy JavaScript. na około. W tym artykule bierzemy przez to, co jest wyjątkowe o kątach 8 i pokazać, jak zacząć. Po pierwsze, krótkie spojrzenie wstecz na to, co stało się do tej pory w ramach.
Wprowadzenie Kątowe Doprowadziło do zmiany paradygmatu w tworzeniu stron internetowych: Podczas gdy większość bibliotek ograniczyła się do zapewnienia wsparcia deweloperom stosunkowo ograniczonym wpływem architektonicznym, zespół deweloperów Kątowy poszedł w innym kierunku. Ich produkt zmusza do korzystania z określonej architektury, z odchyleniami od trudnych do bezcelowej komercyjnej. W rzeczywistości większość kątowy kod działa przez stosunkowo złożoną narzędzie do przewijania, zanim kiedykolwiek uderzy w przeglądarkę.
Ze względu na ogromny sukces kanciasty, zarówno wewnątrz, jak i na zewnątrz Google Inc, rozwój - przez i duży stabilizowany. Oznacza to, że zmiany kodu łamania są niewiele, podczas gdy półroczne ulepszenia koncentrują się na adaptacji ramy do zmian w krajobrazie przeglądania stron internetowych.
W przypadku kątowego 8, na przykład nowa kompilator JavaScript (choć nadal eksperymentalnie). Optymalizuje wygenerowany kod zgodności, który ma być znacznie mniejszy i szybszy na koszt starszych przeglądarek. Ponadto wsparcie pracownika internetowego jest zintegrowany z zwiększeniem zdolności przetwarzania kątowego. Krótko mówiąc, jest wiele do zobaczenia - więc pozwól nam nurkować w prawo.
Jeśli wolisz zaprojektować witrynę bez kodu, spróbuj jednego z tych łatwych Budowniczowie stron internetowych. . I sprawi, że rzeczy biegają nawet płynniejsze, zdobądź swoje hosting słuszność prawa.
Zestaw narzędzi Cygular mieszka wewnątrz środowiska Nodejs. Na ten temat, konieczne jest Node.js 10.9 lub lepiej - jeśli znajdziesz się na starszej wersji, Odwiedź stronę internetową node.js i zdobądź aktualizację. Poniższy kod pokazuje stan wersji na tej maszynie.
Tamhan @ Tamhan18: ~ $ Node -v
V12.4.0.
Tamhan @ Tamhan18: ~ $ NPM -V
6.9.0
Zestaw narzędzi Kątowy znajduje się w nazwie ng. . Może być zainstalowany przez znany NPM.
Tamhan @ Tamhan18: ~ $ sudo NPM Zainstaluj -g @ kanciasty / CLI
Tamhan @ Tamhan18: ~ $ ng wersja
Uważaj na odpowiedź na pytanie pokazane na poniższym obrazie.
Uzyskiwanie informacji o wersji z narzędzia jest dość trudne - nie tylko jest unikalna składnia, ale wyjście jest również gadane (patrz obraz poniżej).
ng. generuje dla nas rusztowania kątowe. W poniższych krokach chcemy dodać routing i użyć Sass for CSS Transpilation. Jeśli wdrożenie nie może z jakiegoś powodu, opróżnić katalog roboczy i uruchom ponownie ng. z prawami nadprzewodnikowymi.
Tamhan @ Tamhan18: ~ $ MKDIRSPace
Tamhan @ Tamhan18: ~ $ CD CD AngularSpace /
Tamhan @ Tamhan18: ~ / AngularSpace $ ng New Worterest
Nowa wersja kątowa optymalizuje kod kompatybilności do tyłu dla zmniejszonego wpływu - plik o nazwie Przeglądarka Umożliwia zdecydowanie, które przeglądarki mają być obsługiwane. otwarty Przeglądarka i usuń słowo nie przed IE 9 do IE11.
. . .
& gt; 0,5%
Ostatnie 2 wersje.
Firefox ESR.
nieumarły
IE 9-11 # dla IE 9-11 Obsługa, usuń "nie".
Zamówienie kompilacji projektu, zmień w folderze dystrybucyjnym i usuń niepotrzebne pliki mapy.
Tamhan @ Tamhan18: ~ / ContainSpace / Worterest $
Sudo Ng Build.
Tamhan @ Tamhan18: ~ / CulderSpace / Worteszt / Dist / Worterest $ LS
Wywołaj drzewo, aby zobaczyć wyniki - ng. Tworzy wiele wersji różnych plików kodu (patrz obraz poniżej).
Pracownicy sieci Web umożliwiają JavaScript Wejdź do ostatniej granicy natywnych aplikacji: masowo równoległe przetwarzanie zadań. Z kątem 8 pracownik sieciowy można stworzyć bezpośrednio z komfortu ng. Narzędzie wiersza poleceń.
Tamhan @ Tamhan18: ~ / ContainSpace / Worterest $
sudo ng generuje Myworker Web-pracownika
Utwórz tsconfig.worker.json (212 bajtów)
Utwórz src / app / myworker.worker.ts (157 bajtów)
Zaktualizuj tsconfig.app.json (236 bajtów)
Zaktualizuj angular.json (3640 bajtów)
ng. Wyjście prawdopodobnie wygląda na zastraszenie na pierwszy rzut oka. Otwieranie pliku. src / app / myworker.worker.ts w Edytor kodu. z wyboru ujawnia kod, który powinien dobrze wiedzieć z Webworker. specyfikacja. Zasadniczo pracownik otrzymuje wiadomości i przetwarza je w razie potrzeby.
/// & lt; referencyjne lib = "Webworker" / & gt;
addeventlistener ("wiadomość", ({dane}) = & gt; {
Const Response = `Odpowiedź pracownika na
$ {dane} `;
Postmessage (odpowiedź);
});
Aplikacje kątowe składają się z komponentów. Wypalanie naszego pracownika internetowego jest najlepsze w środku Appcomponent. , który jest rozszerzony o słuchacz do Oninit. zdarzenie. Na razie będzie emitować tylko informacje o statusie.
Importuj {komponent, oninit} z "@ kątowy / rdzenia";
@Składnik({
. . .
})
Eksportuj klasę AppComponent Implements Oninit {
Tytuł = "Worterest";
ngoninit () {
Console.log ("AppComponent: oninit ()");
}
}
Doświadczeni producenci maszynopisów zadają się, dla których nasz kod nie używa konstruktora dostarczonego przez język programowania. Powodem tego jest ngoninit. Jest zdarzeniem cyklu cyklu, które zostaje zwolnione, gdy ma miejsce wydarzenie inicjalizacyjne - nie trzeba być skorelowane do wywołania klasy.
W tym momencie program jest gotowy do uruchomienia. Wykonamy go z serwera wewnątrz ng. , które można wywołać za pomocą polecenia serwującego. Zgrabnym aspektem tego podejścia jest to, że program wykrywa zmiany i zmienić projekt w locie.
Tamhan @ Tamhan18: ~ / ContainSpace / Worterest $
sudo ng służy
Spójrz na rysunek, aby zobaczyć to w akcji na poniższym obrazie.
Ng służą. Putputs Adres lokalnego serwera WWW, który zwykle jest http: // localhost: 4200 / . Otwórz stronę internetową i otwórz narzędzia programisty, aby zobaczyć wyjście stanu. Weź pod uwagę, że konsola.log. Wyjścia danych do konsoli przeglądarki i pozostawia konsolę instancji NodeJs nietknięty.
W tym momencie tworzymy instancję pracownika i zapewniamy go wiadomością. Jego wyniki są następnie wyświetlane w konsoli przeglądarki.
Jeśli (pracownik typu! == 'Udefiniowany ") {
// Stwórz nowy
Const Worker = Nowy Pracownik ("Myworker.worker", {Typ: "Moduł"});
pracownik.onmessage = ({dane}) = & gt; {
Console.log ("strona dostała wiadomość: $ \
{dane\}');
};
pracownik.postmessage ('hello');
} else {
Console.log ("No Pracownik");
}
Przyszłe wersje kątowe wykorzystają bardziej zaawansowany kompilator, prowadzący do jeszcze mniejszych widoków. Podczas gdy produkt nie jest jeszcze zakończony, szkielet z obsługą bluszczem może być spowiwany przez NG Nowy Projekt Ivy - Enable-Ivy . Alternatywnie zmień ustawienia kompilatora, jak pokazano w fragmence.
"AngularCompilerOptions": {
"Ewywalnia": Prawda
}
Słowo ostrzeżenia: Ivy prowadzi do niesamowitych redukcji rozmiarów, ale nie jest bezpłatny. Produkt nie ma jeszcze ustabilizowania, więc użycie go w środowiskach produkcyjnych nie jest zalecane.
Kątowy ng. Narzędzie wiersza poleceń używało skryptów dziecka wewnętrznie przez jakiś czas. Kątowy 8 UPS Ante w tym można teraz, również użyj tego obiektu, aby uruchomić własne zadania, gdy aplikacja jest montowana i skompilowana.
"Architekt": {
"budować": {
"Builder": "@ kątowy-devkit /
Build-kątowa: przeglądarka ",
Jedno zadbane zastosowanie ng. Skrypty obejmują bezpośrednio przesyłanie aplikacji do usług w chmurze. The. Repozytorium Git. Zapewnia przydatny skrypt, który przesyła pracę na konto FireBase.
Deweloperzy migrujących z dala od kątowego 1.x, znani również jako AngularJs, mieli uczciwy udział w kwestiach, aby nawigator pracował w prawo w "Połączone" aplikacje. Nowa ujednolicona usługa lokalizacji ma na celu uczynienie tego procesu.
Duże projekty korzystają z możliwości dynamicznej zmiany struktury roboczej. Odbywa się to za pośrednictwem Nowego API Workspace wprowadzone w kątowym 8.0 - fragment towarzyszący temu kroku zapewnia szybki przegląd zachowania.
Async Funkcja demonstruje () {
Const Host = Obszary robocze.
creatworkingSpacehost (nowy Nodejssynchost ());
CING WORKSPEACE = oczekuje na obszarach roboczych.
ReadworkSpace ("Ścieżka / do / Workspace / Katalog /",
gospodarz);
Const Project = Workspace.Projects.
zdobądź ("moja aplikacja");
Const BuildTarget = projekt.Targets.
uzyskać ("zbuduj");
buildtarget.options.Optimization = true;
oczekuj workspace.WiRiTewSerderSpace (Workspace,
gospodarz);
}
Budowanie dużych bazy kodu JavaScript jest żmudne. Przyszłe wersje AngularJs wykorzystają Bazel Build System, aby przyspieszyć proces - niestety, w momencie pisania nie było gotowe do pierwotnego.
Mimo że Google ma szczególną ostrożność, aby nie przełamać kodu, niektóre funkcje muszą być po prostu usunięte, ponieważ nie są już potrzebne. Czek Ta lista deprecjacji Aby dowiedzieć się więcej o funkcjach, których należy unikać.
Jak zawsze jeden artykuł nigdy nie może uczynić sprawiedliwości całego wydania. Na szczęście, Ta zmiana dziennika Zapewnia szczegółową listę wszystkich zmian - na wypadek, gdybyś kiedykolwiek czuł się jak sprawdzenie pulsu funkcji, szczególnie drogie dla Ciebie.
Masz wiele plików gotowych do przesyłania do swojej witryny? Z powrotem w najbardziej niezawodnym magazyn w chmurze .
Ten artykuł został pierwotnie opublikowany w magazynie kreatywnego projektowania stron internetowych Projektant stron internetowych .
Czytaj więcej:
Strona 1 z 2: Używanie tabl.js: Steps 01-10 Używanie tabl.js: Steps 01-..
Wielu z nas ma teraz jakiś asystent głosowy w domu, czy jest to Echo Amazon Echo, Apple Hompod czy Google Home. Wygląda na to,..
Malowanie cyfrowo za pomocą Rysunek tabletki i rysowanie artrage oprogramowania. Używanie na tablecie graficznym..
Miękkość i jasność pastelowych kijów sprawiają, że idealny wybór w tle w moim Pastelowe rysunki ; mając ..
Twoja strona docelowa jest kluczowym elementem Układ strony internetowej. . Jest to pierwsza prawdziwa okazja, kt..
Istnieje wiele ciekawych efektów, które można dodać do strony, aby zwiększyć zaangażowanie, ale ważne jest, aby wybrać e..
Uzyskanie właściwej nazwy Twojej agencji nie jest łatwe; Wiele osób wpada w pułapkę wezwania swojej firmy coś takiego jak ..