{"id":231714,"date":"2023-01-13T16:31:00","date_gmt":"2023-01-13T13:31:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=231714"},"modified":"2022-12-25T18:47:51","modified_gmt":"2022-12-25T15:47:51","slug":"nowe-zmiany-w-obsludze-angular-typescript-w-wersji-10","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/pl\/nowe-zmiany-w-obsludze-angular-typescript-w-wersji-10\/","title":{"rendered":"Nowe zmiany w obs\u0142udze Angular TypeScript w wersji 10"},"content":{"rendered":"\n<p>Angular niedawno wyda\u0142 swoj\u0105 wersj\u0119 10 i jest pe\u0142en funkcji. Jedn\u0105 z wa\u017cnych zmian jest fakt, \u017ce nowa obs\u0142uga TypeScriptu \u0142amie kompatybilno\u015b\u0107 z poprzednimi wersjami. Zobaczmy, co nowego i jakie korzy\u015bci przynosi programistom Angulara.<\/p>\n<p>Zmiany w obs\u0142udze TypeScript w Angular 10 mo\u017cna podsumowa\u0107 w trzech obszarach:<\/p>\n<h2>Nowa obs\u0142uga TypeScript 3.9<\/h2>\n<p>Angular 10 to g\u0142\u00f3wna wersja opublikowana 24 czerwca i zawieraj\u0105ca wiele nowych dodatk\u00f3w: od komponent\u00f3w interfejsu u\u017cytkownika, takich jak nowy <a href=\"https:\/\/next.material.angular.io\/components\/datepicker\/overview#date-range-selection\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">selektor zakresu dat,<\/a> po powa\u017cne zmiany pod mask\u0105, takie jak obs\u0142uga wersji TypeScript.<\/p>\n<p>Obs\u0142uga Angular <a href=\"https:\/\/startfunction.com\/tag\/typescript\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TypeScript<\/a> jest bardzo szybko aktualizowana, pokazuj\u0105c pe\u0142ne zaanga\u017cowanie w nadzbi\u00f3r wpisany w JavaScript:<\/p>\n<ul>\n<li>Angular 9 wydany 6 lutego obs\u0142uguje TypeScript 3.7<\/li>\n<li>Angular 9.1 wydany 25 marca wprowadzi\u0142 wsparcie dla TypeScript 3.8<\/li>\n<li>Angular 10 obs\u0142uguje teraz tylko TypeScript 3.9<\/li>\n<\/ul>\n<p>Zauwa\u017c, \u017ce jest to prze\u0142omowa zmiana: TypeScript 3.8 i wcze\u015bniejsze nie s\u0105 ju\u017c obs\u0142ugiwane w Angular i je\u015bli z jakiego\u015b powodu ich potrzebujesz, nie powiniene\u015b aktualizowa\u0107 do Angular 10, aby zachowa\u0107 integralno\u015b\u0107 swojej aplikacji.<\/p>\n<p><a href=\"https:\/\/github.com\/microsoft\/tslib\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TSlib<\/a>, oficjalna biblioteka uruchomieniowa dla TypeScript, kt\u00f3ra zawiera wszystkie funkcje pomocnicze TypeScript, zosta\u0142a zaktualizowana do wersji 2.0.<\/p>\n<p><a href=\"https:\/\/github.com\/palantir\/tslint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TSLint<\/a>, narz\u0119dzie do analizy statycznej, kt\u00f3re sprawdza kod TypeScript pod k\u0105tem czytelno\u015bci, \u0142atwo\u015bci konserwacji i b\u0142\u0119d\u00f3w funkcjonalno\u015bci, zosta\u0142o zaktualizowane do wersji 6. Jest to ostatnia g\u0142\u00f3wna wersja TSLint, zanim sta\u0142a si\u0119 przestarza\u0142a, wi\u0119c jest prawdopodobne, \u017ce nowa wersja Angulara wprowadzi obs\u0142ug\u0119 <a href=\"https:\/\/github.com\/typescript-eslint\/typescript-eslint\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">TypeScript ESLint<\/a>, ewolucja TSLint, kt\u00f3ra umo\u017cliwia ESLint obs\u0142ug\u0119 TypeScript.<\/p>\n<h2>Nowa struktura projektu<\/h2>\n<p>Kolejnym obszarem, w kt\u00f3rym zaktualizowano r\u00f3wnie\u017c obs\u0142ug\u0119 Angular TypeScript, jest uk\u0142ad projektu. Wersja 10 wprowadza teraz nowy <code>tsconfig.base.json<\/code>. Ten nowy plik dzia\u0142a w po\u0142\u0105czeniu z tradycyjnym <code>tsconfig.json<\/code>:<\/p>\n<ul>\n<li>plik <code>tsconfig.json<\/code>zawiera list\u0119 \u015bcie\u017cek do innych plik\u00f3w konfiguracyjnych TypeScript zawartych w bie\u017c\u0105cym projekcie, aby okre\u015bli\u0107, do kt\u00f3rego pliku konfiguracyjnego nale\u017cy plik, aby mo\u017cna by\u0142o zastosowa\u0107 odpowiednie opcje. Podczas gdy edytory kodu i serwer j\u0119zyka TypeScript u\u017cywaj\u0105 tego pliku, aby zapewni\u0107 lepsze \u015brodowisko programistyczne, kompilatory nie.<\/li>\n<li>Plik <code>tsconfig.base.json<\/code>okre\u015bla podstawowe opcje kompilatora TypeScript i Angular, kt\u00f3re dziedzicz\u0105 wszystkie projekty w obszarze roboczym.<\/li>\n<\/ul>\n<p>Aktualizacja aplikacji za pomoc\u0105 <code>ng update<\/code>automatycznie zaktualizuje struktur\u0119 tak, aby korzysta\u0142a z nowego <code>tsconfig.base.json<\/code>.<\/p>\n<h2>Nowe \u015bcis\u0142e ustawienia<\/h2>\n<p>Angular 10 oferuje teraz now\u0105 opcj\u0119 dla polecenia CLI <code>ng new<\/code>. Kiedy tworzysz nowy obszar roboczy za pomoc\u0105<\/p>\n<p><code>ng new --strict<\/code><\/p>\n<p>nowy obszar roboczy b\u0119dzie mia\u0142 w\u0142\u0105czone nowe ustawienia, aby aktywowa\u0107 tryb \u015bcis\u0142y w TypeScript i skonfigurowa\u0107 regu\u0142y lintingu, aby zapobiec deklaracjom typu <code>any<\/code>. Pozwala to na wy\u0142apywanie b\u0142\u0119d\u00f3w z wyprzedzeniem, a tak\u017ce pozwala CLI na przeprowadzanie zaawansowanych optymalizacji w aplikacji.<\/p>\n<h2>Wi\u0119cej zmian w Angularze 10<\/h2>\n<p>W tym po\u015bcie podsumowano zmiany w obs\u0142udze Angular TypeScript. Jest o wiele wi\u0119cej zmian, o kt\u00f3rych mo\u017cesz przeczyta\u0107 w po\u015bcie na blogu dotycz\u0105cym <a href=\"https:\/\/blog.angular.io\/version-10-of-angular-now-available-78960babd41\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">wydania Angulara 10<\/a><\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/startfunction.com\" class=\"external external_icon\">startfunction.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Obs\u0142uga TypeScript 3.9 i nowe biblioteki TS to du\u017ce zmiany w tej wersji.<\/p>\n","protected":false},"author":1,"featured_media":236900,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[721,897,784,752,845],"tags":[1169],"class_list":["post-231714","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-deweloper","category-kod","category-oprogramowanie-open-source","category-otwarte-zrodlo","category-samouczki","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/231714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/comments?post=231714"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/posts\/231714\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media\/236900"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/media?parent=231714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/categories?post=231714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/pl\/wp-json\/wp\/v2\/tags?post=231714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}