۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

آنچه در Angular 13 جدید است

نسخه 13 چارچوب وب محبوب مبتنی بر TypeScript اکنون به عنوان نسخه تولیدی در دسترس است.

نسخه ۱۳ چارچوب وب محبوب مبتنی بر TypeScript اکنون به عنوان نسخه تولیدی در دسترس است.

Angular 13، آخرین ارتقاء به چارچوب وب محبوب مبتنی بر TypeScript Google که قول می دهد “۱۰۰% Ivy” باشد، اکنون به عنوان نسخه تولیدی در دسترس است.

Ivy موتور جمع‌آوری و رندر نسل بعدی Angular است که Angular در نسخه‌های اخیر از آن پشتیبانی می‌کند در حالی که از موتور View قبلی پشتیبانی می‌کند. پشتیبانی از کتابخانه Ivy در Angular 13 در حال تکمیل است و پشتیبانی از View Engine در حال حذف شدن است. به‌روزرسانی‌های عملکرد نیز در Angular 13 برجسته می‌شوند و بر مناطقی مانند فونت‌های Adobe و بسته‌کننده جاوا اسکریپت ESBuild تأثیر می‌گذارند و ESBuild اکنون از نقشه‌های منبع CSS پشتیبانی می‌کند و CSS جهانی بهینه‌شده را فعال می‌کند.

کد نسخه تولید را می‌توانید در GitHub پیدا کنید. توسعه دهندگان می توانند ng update را در پروژه های خود اجرا کنند تا Angular 13 را دریافت کنند. تغییرات ذکر شده در یادداشت های انتشار Angular 13 و در بولتنی که انتشار تولید را اعلام می کند، شامل موارد زیر است:

    پشتیبانی

  • TypeScript 4.4 اضافه شده است. از ۵ اکتبر، نسخه‌های قدیمی‌تر از TypeScript 4.4.2 دیگر در هسته پشتیبانی نمی‌شوند.
  • نسخه‌های Node.js قدیمی‌تر از v12.20 دیگر پشتیبانی نمی‌شوند، زیرا بسته‌های Angular از ویژگی صادرات بسته Node.js با الگوهای مسیر فرعی استفاده می‌کنند.
  • کتابخانه برنامه نویسی واکنشی rxjs (افزونه های واکنش پذیر برای جاوا اسکریپت) v7 پشتیبانی می شود.
  • تأییدکننده‌های داخلی مانند min، max و minLength را می‌توان به صورت پویا غیرفعال یا فعال کرد.
  • یک API ساده شده ViewContainerRef.createComponent امکان ایجاد پویا اجزا را فراهم می کند.
  • پیام خطا بهبود یافته است.
  • قابلیت دائمی «ساخت حافظه پنهان به‌طور پیش‌فرض» ساخت‌ها را بهبود بخشیده است.
  • فرمت بسته Angular 13 معرفی شده است و کدهای View Engine را از بسته ها حذف می کند. APF ساده و مدرن شده است.
  • $localize یک API پایدار برای بین المللی کردن است.
  • شرایط سفارشی را می توان در ng_package تنظیم کرد.
  • وقتی یک پیمایش جدید پیمایش در حال انجام را لغو می کند، روتر دیگر جایگزین URL مرورگر نمی شود. این باعث سوسو زدن URL شده بود و فقط برای پشتیبانی از برخی برنامه های ترکیبی AngularJS خدمت می کرد. برنامه‌های ترکیبی که به navigationId برای روتر متکی هستند، باید در رویدادهای NavigationCancel مشترک شوند و خود replaceState را انجام دهند تا navigationId به وضعیت روتر.
  • کلاس wrappedValue دیگر نمی‌تواند از @angular/core پشتیبانی شود، که در صورت استفاده از کتابخانه‌هایی که از wrappedValue استفاده می‌کنند، می‌تواند منجر به خطاهای کامپایل یا خرابی در زمان اجرا شود. استفاده از wrappedValue باید حذف شود.
  • رفتار SpyLocation مورد استفاده توسط RouterTestingModule برای مطابقت با رفتار مرورگرها تغییر کرده است.
  • برای هسته، یادداشت‌های خالص در حال اضافه شدن به مقداردهی اولیه خصوصیات استاتیک است. ویژگی‌های کلاس با مقداردهی اولیه که باعث اجرای کد می‌شوند می‌توانند در ارزیابی ماژول اثرات جانبی داشته باشند، مشابه کد سطح ماژول. بنابراین، بهینه‌سازها نمی‌توانند با خیال راحت کلاسی با چنین خاصیت ثابت را حذف کنند، زیرا عوارض جانبی بالقوه ممکن است بر اجرای برنامه تأثیر بگذارد. برای اینکه کلاس‌هایی با این نوع ویژگی‌های استاتیک بهینه شوند و در صورت عدم استفاده حذف شوند، می‌توان عبارات اولیه را برای ویژگی‌های استاتیک به‌عنوان خالص حاشیه‌نویسی کرد.
  • حافظه پنهان

  • سرویس‌کار در کارگر ایمنی پاک می‌شود تا اطمینان حاصل شود که محتویات کهنه یا شکسته هستند. در درخواست‌های آینده ارائه نشده است.
  • برای پلتفرم-مرورگر، پیام خطا برای یک انیمیشن از دست رفته بهبود یافته است. ماشه.
  • برای فرم‌ها، Angular 13 نوع جدیدی به نام FormControlStatus را ارائه می‌کند که ترکیبی از تمام رشته‌های وضعیت ممکن برای کنترل‌های فرم است. همچنین، AbstractControl.status از string به FormControlStatus و StatusChanges از Observable محدود شده است. تا قابل مشاهده. طبق تغییرات Angular، اکثر برنامه‌ها باید این انواع جدید را یکپارچه مصرف کنند.
  • برای روتر، تغییری برای رفع وضعیتی پیشنهاد شده است که در آن سریال‌ساز پیش‌فرض URL همه چیز را پس از آن حذف می‌کند، از جمله علامت سؤال در پارامترهای پرس و جو، که منجر به تجزیه نادرست برای پیمایش به /path?q می‌شود. =سلام؟&other=123. این تغییر تجزیه صحیح را فراهم می کند.
  • Angular CLI بهبود یافته است.
  • بهبودهای TestBed کار بهتری را برای از بین بردن ماژول‌ها و محیط‌های آزمایشی پس از هر آزمایش امکان‌پذیر می‌سازد.
  • پشتیبانی از IE11 (Internet Explorer) در حال حذف است.
  • برای کامپایلر-cli، تجزیه و تحلیل برای ساخت های افزایشی برای فایل های بدون رفتار Angular نادیده گرفته می شود. در ساخت افزایشی، کامپایلر سعی می‌کند تا آنجایی که ممکن است از داده‌های تجزیه و تحلیل یک کامپایل قبلی مجددا استفاده کند تا از انجام مجدد کار آنالیز جلوگیری کند. با این حال، برای فایل‌های منبع بدون رفتار Angular، هیچ داده تجزیه و تحلیلی ثبت نمی‌شود، در نتیجه فایل منبع در هر ساخت دوباره آنالیز می‌شود، حتی اگر چیزی تغییر نکرده باشد. این commit از تجزیه و تحلیل چنین فایل های منبع جلوگیری می کند.
  • برای سرویس زبان، پشتیبانی از انواع اتحاد تحت اللفظی رشته تکمیل خودکار در الگوها ارائه می‌شود.
  • برای روتر، رویدادهای خروجی از دست رفته به RouterOutletContract اضافه می شود. زمانی که مؤلفه‌ها به صورت پویا از طریق فدراسیون ماژول در نقطه‌ای در آینده رندر شوند، این مورد مورد نیاز است.

انتشارات تولیدی Angular برای هر شش ماه هدف گذاری شده است. نسخه قبلی Angular 12 در ۱۲ مه عرضه شد.